- 描述
-
给定两个数m,n,其中m是一个素数。
将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。
- 输入
- 第一行是一个整数s(0<s<=100),表示测试数据的组数
随后的s行, 每行有两个整数n,m。 - 输出
- 输出m的个数。
- 样例输入
-
2 100 5 16 2
- 样例输出
-
24 15
- 来源
- 网络
- 上传者
- 苗栋栋
AC代码:
#include<cstdio> int n,m,t; int xx(int n) { int ans=0; for(int i=2;i<=n;i++) { while(n!=i) { if(n%i==0) { if(i==m) ans++; n/=i; } else break; } } if(n==m) ans++; return ans; } int main() { scanf("%d",&t); while(t--) { scanf("%d %d",&n,&m); int sum=0; while(n>1) { sum+=xx(n); n--; } printf("%d\n",sum); } return 0; }
【南阳理工】 56 阶乘因式分解(一)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.