閱讀371 返回首頁    go 阿裏雲 go 技術社區[雲棲]


階乘因式分解

階乘因式分解(一)
時間限製: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

  上一篇:go 成績轉換
  下一篇:go 兄弟郊遊問題