南陽OJ-No.34
時間限制3000ms,內存限制65535KB,難度2
描述
給定兩個數m,n,其中m是一個素數。
將n(0<=n<=10000)的階乘分解質因數,求其中有多少個m。
輸入
第一行是一個整數s(0 < s <= 100),表示測試數據的組數
隨後的s行, 每行有兩個整數n,m。
輸出
輸出m的個數。
樣例輸入
2
100 5
16 2
樣例輸出
24
15
JAVA
時間32,內存246
import java.util.Scanner;
public class Main {
public static Scanner cin = new Scanner(System.in);
public static int N, m, n, count, temp=0, j, i;
//count 用於計數,temp用於每階運算,i用於外層循環,j用於內層循環
public static void main(String[] args) throws Exception {
N = cin.nextInt();
for (i=0; i<N; i++) {
count = 0;
n = cin.nextInt();
m = cin.nextInt();
j = n;
temp = n;
while (n != 0) {
n = n/m;
count = count + n;
}
System.out.println(count);
}
}
}
C++
我就不寫了=_=