(eular)最大公约(1552)
2013-10-29 10:47
387 查看
先把该数的因子找出来。
对于每个因子d,找出n/d的互素的个数,以保证其没有重复相加
对于每个因子d,找出n/d的互素的个数,以保证其没有重复相加
#include<iostream> #include<cmath> #include<cstdio> using namespace std; int n; int eular(int n) { int ret=1,i; for (i=2;i*i<=n;i++) if (n%i==0) { n/=i,ret*=i-1; while (n%i==0) n/=i,ret*=i; } if (n>1) ret*=n-1; return ret; } int main() { int i,j,k; int t,m; cin>>t; while (t--) { int ans=0; scanf("%d%d",&n,&m); if (m==1) { printf("%d\n",n); continue; } if (n<m) { printf("0\n"); continue; } k=sqrt((double)n); for (i=2;i<=k;i++) if (n%i==0) { if (i>=m) ans+=eular(n/i); if (n/i>m && n/i!=i) ans+=eular(i); } printf("%d\n",ans+1); } return 0; }
相关文章推荐
- 5.3指针和数组
- 中兴手机指令集,哥刚入手的小旋风
- shell 批量修改密码
- Mongodb启动命令mongod参数说明
- 高点击率的BANNER设计14招
- Latch的使用详解
- VC自动发送邮件程序
- Jquery系列-JqueryAPI
- 【discuzx2】space_album_list.htm
- 自定义的带tab的可左右滑动的viewpager之三fragment之间信息的传递
- 微信公众号开发第一课 预备知识和申请权限账号
- jQuery实现公告文字左右滚动的代码。
- 抽象类
- scope_identity() 与 @@identity的区别
- Hadoop2.2.0版本多节点集群安装及测试
- (字符串的模式匹配4.7.18)POJ 1961 Period(求一个串到第i个字符循环节出现的次数)
- Android API 指南
- 服务器的3种异常情况
- 【discuzx2】follow_feed_li.htm
- 转:【专题五】TCP编程