题目大意:求小于n的gcd(i,n)大于1的个数;

题解:欧拉函数直接求gcd(i,n)==1的个数  用n减即可

#include <cstdio>
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 n;
while(scanf("%d",&n),n!=0)printf("%d\n",n-eular(n)-1);
return 0;
}

最新文章

  1. Linux学习 :移植U-boot_2016.09到JZ2440开发板
  2. HackerRank &quot;Angry Children 2&quot;
  3. javascript “||”、“&amp;&amp;”的灵活运用
  4. Tomcat8.5
  5. Oracle alter index rebuild 与 ORA-08104 说明
  6. 称球问题(zt)
  7. Oracle系列之表空间
  8. BZOJ 1024 SCOI 2009 生日快乐 深搜
  9. Windows Phone开发(35):使用Express Blend绘图
  10. 基于arm开发板四个按键控制四个灯亮
  11. 【HTML】ie=edge(转)
  12. 初识Djiango
  13. 几个bat文件(关于robot freamwork安装)
  14. sharding sphere 分表分库 读写分离
  15. IIS中注册.net4.0
  16. mongodb集群配置及备份恢复
  17. PTA编程总结3—抓老鼠啊~亏了还是赚了?
  18. Excel函数之sumifs应用
  19. python基础之Day9
  20. 给PHP开启shmop扩展实现共享内存

热门文章

  1. SQL XML process
  2. myeclipse破解教程,对所有版本有效,完美支持32位和64位
  3. 小鱼提问2 属性访问器中get,set再用public修饰行吗,private呢?
  4. BZOJ 1832: [AHOI2008]聚会( LCA )
  5. jquery validationEngine 使用ajax验证不通过也提交表单
  6. linux中的ps命令用法。
  7. Ubuntu12.04获取root权限
  8. win7中注册tomcat服务
  9. MySQL 关闭子表的外键约束检察
  10. php环境配置优化