【南阳理工】 56 阶乘因式分解(一)

来源:互联网 发布:广州女人街网络批发 编辑:程序博客网 时间:2024/05/16 08:00
描述

给定两个数m,n,其中m是一个素数。

将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。

输入
第一行是一个整数s(0<s<=100),表示测试数据的组数
随后的s行, 每行有两个整数n,m。
输出
输出m的个数。
样例输入
2100 516 2
样例输出
2415
来源
网络
上传者
苗栋栋
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; }         


原创粉丝点击