NYOJ-56-阶乘因式分解(一)-2013年6月10日12:20:54
原创
©著作权归作者所有:来自51CTO博客作者ITCharge的原创作品,请联系作者获取转载授权,否则将追究法律责任
阶乘因式分解(一)
3000 ms | 内存限制:
65535
2
给定两个数m,n,其中m是一个素数。
将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。
第一行是一个整数s(0<s<=100),表示测试数据的组数
随后的s行, 每行有两个整数n,m。
输出
输出m的个数。
样例输入
2
100 5
16 2
样例输出
24
15
# include<stdio.h>
int main()
{
int s;
scanf("%d",&s);
while(s--)
{
int n,m,i,j,sum=1;
scanf("%d %d",&n,&m);
for(i=1,j=0;i<=n;i++)
{
sum = i;
while(sum%m==0 && sum>=m)
{
sum = sum / m;
j++;
}
}
/* printf("%d\n",sum);
j = 0;
while(sum%m==0 && sum>=m)
{
sum = sum / m;
j++;
}
*/
printf("%d\n",j);
}
return 0;
}