階乘因式分解
階乘因式分解(一)時間限製: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 <iostream>
using namespace std;
int main()
{
int s;
int m, n, sum = 0;
cin >> s;
while (s--)
{
sum = 0;
cin >> n >> m;
//公式:求m的冪為[n/m] + [n/m^2]+...+
int t = m;//保存m的值
while (n / m)
{
sum += n / m;
m *= t;
}
cout << sum << endl;
}
return 0;
}
最後更新:2017-04-02 15:14:53