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

阶乘因式分解(二)

时间限制: 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

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);
}
}


你可能感兴趣的:(ACM,阶乘因式,NYJO070阶乘因式分解二)