阶乘因式分解(一)
描述
给定两个数m,n,其中m是一个素数。
将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。
- 输入
- 第一行是一个整数s(0<s<=100),表示测试数据的组数
- 随后的s行, 每行有两个整数n,m。
- 输出
- 输出m的个数。
- 样例输入
- 2
- 100 5
- 16 2
- 样例输出
- 24
- 15
1 #include <stdio.h> //m是一个素数,a不能整除m,b也不能整除m,则a*b也不能整除m 2 3 int main(){ 4 int T; 5 int n; 6 int m; 7 int i; 8 int j; 9 int temp; 10 int amount; 11 12 scanf("%d",&T); 13 14 while(T--){ 15 scanf("%d%d",&n,&m); 16 17 amount=0; 18 for(i=1;i<=n;i++){ 19 temp=i; 20 while(temp%m==0){ 21 amount++; 22 temp/=m; 23 } 24 } 25 26 printf("%d\n",amount); 27 } 28 29 return 0; 30 }