NYOJ - 70:阶乘因式分解(二)

阶乘因式分解(二)

来源:NYOJ
标签:算法、数论
参考资料:质因数分解式
相似题目:NYOJ - 56:阶乘因式分解(一)

题目

给定两个数n,m,其中m是一个素数。将n(0<=n<=231)的阶乘分解质因数,求其中有多少个m。注:为求幂符号。

输入

第一行是一个整数s(0

输出

输出m的个数。

输入样例

3
100 5
16 2
1000000000 13

输出样例

24
15
83333329

参考代码1

#include
int main()
{
	int t;
	int n,m;
	scanf("%d",&t);
	for(int i=1;i<=t;i++)
	{
		scanf("%d%d",&n,&m);

		int cnt=0;
		for(int j=m;j<=n;j+=m)
		{
			int temp=j; 
			while(temp%m==0)
			{
				temp/=m;
				cnt++;
			}
		}
		printf("%d\n",cnt);
	}
	return 0;
}        

参考代码2

#include
int main()
{
	int t;
	int n,m;
	scanf("%d",&t);
	for(int i=1;i<=t;i++)
	{
		scanf("%d%d",&n,&m);

		int ans=0;
		while(n>0)
		{
			ans+=n/m;
			n/=m;
		}
		printf("%d\n",ans);
	}
	return 0;
}        

你可能感兴趣的:(【记录】算法题解)