阶乘因式分解(一)



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;
}