您的位置:首页 > 其它

阶乘因式分解

2014-02-25 21:46 183 查看
/*描述
给定两个数m,n,其中m是一个素数。
将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。
输入
第一行是一个整数s(0<s<=100),表示测试数据的组数
随后的s行, 每行有两个整数n,m。
输出
输出m的个数。
样例输入
2
100 5
16 2
样例输出
24
15*/
import java.util.*;

public class Main9 {
public static int n;
public static int[][] ar;
public static int sum;
public static int tmp;

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
ar = new int
[2];
for (int i = 0; i < n; i++) {
ar[i][0] = sc.nextInt();
ar[i][1] = sc.nextInt();
}
//这里能优化么???
for (int i = 0; i < n; i++) {
sum = 0;
for (int j = ar[i][0]; j > 0; j--) {
if (j % ar[i][1] == 0) {
sum++;
tmp = j / ar[i][1];
while (tmp % ar[i][1] == 0 && tmp != 0) {
tmp = tmp / ar[i][1];
sum++;
}
}
}
System.out.println(sum);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: