首页 > 代码库 > nyoj 56 阶乘中素数的个数

nyoj 56 阶乘中素数的个数

给定两个数m,n,其中m是一个素数。

将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。

输入
第一行是一个整数s(0<s<=100),表示测试数据的组数
随后的s行, 每行有两个整数n,m。

假设m=5,n=26;26!中5的个数为多少呢?只有5的倍数中含有5

1。 5 10 15 20 25 共5个(26/5)

2.这个时候,我们认为有些数中有多个5,比如25,将上述数全部除以5,

1 2 3 4 5  存在一个5(5/5)

所以共6个。

简单来说就是

sum=0;

while(m>=n)

{

sum+=m/n

m=m/n;

}