NYOJ-56-阶乘因式分解(一)-2013年6月10日12:20:54

阶乘因式分解(一)

时间限制: 3000 ms  |  内存限制: 65535 KB
难度: 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;
}        


你可能感兴趣的:(NYOJ-56-阶乘因式分解(一)-2013年6月10日12:20:54)