階乘因式分解(一)
- 描述
-
給定兩個數m,n,其中m是一個素數。
將n(0<=n<=10000)的階乘分解質因數,求其中有多少個m。
- 輸入
-
第一行是一個整數s(0<s<=100),表示測試數據的組數
隨後的s行, 每行有兩個整數n,m。 - 輸出
- 輸出m的個數。
- 樣例輸入
-
2 100 5 16 2
- 樣例輸出
-
24 15
-
-
-
階乘因式分解(二)
時間限制:3000 ms | 內存限制:65535 KB難度:3- 描述
給定兩個數n,m,其中m是一個素數。
將n(0<=n<=2^31)的階乘分解質因數,求其中有多少個m。
注:^爲求冪符號。
- 輸入
- 第一行是一個整數s(0<s<=100),表示測試數據的組數 隨後的s行, 每行有兩個整數n,m。
- 輸出
- 輸出m的個數
- 樣例輸入
3 100 5 16 2 1000000000 13
- 樣例輸出
24 15 83333329
-
-
9!= 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9, 其中有9/3個數包含一個3(3, 6, 9),有9/(3 * 3)個數包含兩個3(9,加1,之前在包含一個3時已經加了1個),依次類推,直到包含零個n個3.
-
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { int t; scanf("%d", &t); while (t--) { int n, m; scanf("%d%d", &n, &m); int res = 0; int temp = 1; while (1) { temp *= m; if (n / temp != 0) { res += n / temp; } else break; } printf("%d\n", res); } return 0; }
-
-