南阳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++
我就不写了=_=