描述
给定两个数n,m,其中m是一个素数。
将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m。
注:^为求幂符号。
-
输入
-
第一行是一个整数s(0<s<=100),表示测试数据的组数
随后的s行, 每行有两个整数n,m。
输出
输出m的个数
**a /= b;是求共有多少个数里有b;把这些个数加
到k里去,在把所有含有b因子的数里除掉一
个b。如此循环下去,知道没有数含因子b。
#include <iostream>
using namespace std;
int main()
{
int N;
cin>>N;
while(N--)
{
long long i,n,m,count;
cin>>n>>m;
count = 0;
while(n>0)
{
count+=n/m;
n/=m;
}
cout<<count<<endl;
}
}