HDU 1787 GCD Again 【欧拉函数模板】
来源:互联网 发布:淘宝的火麻叶是真的么 编辑:程序博客网 时间:2024/05/20 09:07
点击打开链接
#include<stdio.h>#include<math.h>int gcd(int n)//这里可以直接利用欧拉函数的性质:小于n并与n互质的数的个数 { int i,j,ans=n; for(i=2;i<=sqrt(n);i++)//i的范围是这些,判断n是否是质数时就是判断到sqrt(n)就可以。这里跳出循环可以判断n已经是1或者质数了 if(n%i==0) { ans=ans/i*(i-1); while(n%i==0)n/=i;//这里可以保证i一定会是素数,因为下次出现i的倍数的时候不会进去这个循环 } if(n>1)ans=ans/n*(n-1);//有可能除到最后 本身还是一个质因子 return ans;} int main(){ int n; while(scanf("%d",&n),n) printf("%d\n",n-1-gcd(n)); return 0;}
简单的欧拉函数模板套用
自己写的
#include<stdio.h>int euler(int n){int ret=n,i;for(i=2;i*i<=n;i++)if(n%i==0){ret=ret-ret/i;while(n%i==0)n/=i;}if(n>1)ret=ret-ret/n;return ret;}int main(){int n;while(scanf("%d",&n),n)printf("%d\n",n-1-euler(n));}
0 0
- HDU 1787 GCD Again 【欧拉函数模板】
- hdu 1787 GCD Again (欧拉函数在线模板)
- hdu 1787 GCD Again 欧拉函数
- HDU 1787 GCD Again 欧拉函数
- HDU 1787 GCD Again (欧拉函数)
- HDU 1787 GCD Again/HDU 2824 The Euler function(欧拉函数模板)
- hdoj 1787 GCD Again (欧拉函数模板 )
- hdu GCD Again(欧拉函数)
- hdu 1787 GCD Again 欧拉函数小水水 数论
- GCD Again HDU杭电1787【欧拉函数】
- HDU 1787 GCD Again (欧拉函数)
- HDU 1787 GCD Again (欧拉函数)
- HDOJ GCD Again 1787【欧拉函数】
- HDOJ-1787 GCD Again(欧拉函数)
- 欧拉函数:HDU1787-GCD Again(欧拉函数的模板)
- hdoj 1787 GCD Again(欧拉函数)
- HDOJ 题目1787 GCD Again(欧拉函数)
- HDOJ 1787 GCD Again(欧拉函数)
- 网络编程(1)--利用socket进行客户端与服务器端的通信
- 栋栋晓10:Javascript学习总结:基础知识2(语句,函数,)
- HDU - 2816 I Love You Too(水)
- 【Android基础篇】AlertDialog自定义setView方法的控件响应方法
- POJ2406 KMP next数组妙用
- HDU 1787 GCD Again 【欧拉函数模板】
- 【iOS开发】深入MVC---UITableView的数据源方法封装
- 百度地图、ECharts整合HT for Web网络拓扑图应用
- poj 2923
- Sorting - heap sort
- 有点迷茫
- iOS笔记:第七篇 C语言 数组
- 5-线程范围内共享变量
- 梳理《前目的地》