您的位置:首页 > 其它

南洋理工ACM阶乘因式分解(二)070

2015-10-11 18:53 323 查看


阶乘因式分解(二)

时间限制:3000 ms | 内存限制:65535 KB
难度:3

描述

[b][b]给定两个数n,m,其中m是一个素数。[/b][/b]

[b][b]将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m。[/b][/b]

注:^为求幂符号。

输入第一行是一个整数s(0<s<=100),表示测试数据的组数

随后的s行, 每行有两个整数n,m。

输出输出m的个数

样例输入
3
100 5
16 2
1000000000  13


样例输出

24
15
83333329


java代码


import java.util.Scanner;

public class Main {
public static int Get(int x, int p) {
int res = 0;
while (x != 0) {
res = res + x / p;
x = x / p;
}
return res;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
while (n-- > 0) {
int a = sc.nextInt();
int b = sc.nextInt();
/*
* while (a != 0) { sum = sum + a / b; a = a / b; }
*/
sum=Get(a, b);
}
System.out.println(sum);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: