#include <stdio.h>
int main()
{
int s,n,m,sum;
scanf("%d",&s);
while(s--)
{
scanf("%d%d",&n,&m);
sum=0;
while(n)
{
sum+=n/m; //因为直接分析阶乘数字太大 会超出范围,所以可以拆 ,比如100中有因子5的有,5,10.。。100,20个,提出5后
//变为1,2,。。。。20,这20个数能被5整除的有5,10,15,20,4个,再提出5,变为1,2,3,4,。都不能在整除,所以结果为24.
n=n/m;
}
printf("%d\n",sum);
}
}
阶乘因式分解(一)
#include <stdio.h>
int main()
{
int s,n,m,sum;
scanf("%d",&s);
while(s--)
{
scanf("%d%d",&n,&m);
sum=0;
while(n)
{
sum+=n/m; //因为直接分析阶乘数字太大 会超出范围,所以可以拆 ,比如100中有因子5的有,5,10.。。100,20个,提出5后
//变为1,2,。。。。20,这20个数能被5整除的有5,10,15,20,4个,再提出5,变为1,2,3,4,。都不能在整除,所以结果为24.
n=n/m;
}
printf("%d\n",sum);
}
}
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
给定两个数m,n,其中m是一个素数。
将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。