描述
给定两个数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
1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String[] args) { 5 Scanner scanner=new Scanner(System.in); 6 int T; 7 int n; 8 int m; 9 int i; 10 int count; 11 int temp; 12 13 T=scanner.nextInt(); 14 while(T!=0){ 15 T--; 16 17 n=scanner.nextInt(); 18 m=scanner.nextInt(); 19 count=0; 20 for(i=m;i<=n;i+=m){ 21 temp=i; 22 23 while(temp%m==0){ 24 count++; 25 temp/=m; 26 } 27 28 } 29 System.out.println(count); 30 } 31 } 32 } 33 34