欧拉函数
来源:互联网 发布:ios邪恶软件 编辑:程序博客网 时间:2024/06/05 13:25
在数论,对正整数n,欧拉函数是小于n的数中与n互质的数的数目。
性质① m是素数时,有φ(m)=m-1
性质② 当m、n互素时,φ(m*n)=φ(m)*φ(n)性质③ 对一切正整数n,有φ(p^n)=[p^(n-1)]*(p-1)
规定 φ(1)=1
利用性质判定:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;ll eular(ll x){ll res=x; for(ll i=2;x!=1;i++) if(x%i==0){ res=res/i*(i-1); while(x%i==0) x/=i; } return res;}int main(){ ll m; while(~scanf("%I64d",&m)) { printf("%I64d\n",eular(m)); }}利用性质打表:
#include<iostream>const int N=300;using namespace std;int ph[N],w[N],p[N],pt;int make(){ int i,j,k;w[1]=1; for(i=2;i<N;i++) { if(!ph[i])p[pt++]=ph[i]=i,w[i]=i-1; for(j=0;j<pt&&(k=p[j]*i)<N;j++) { ph[k]=p[j]; if(ph[i]==p[j]){w[k]=w[i]*p[j];break;} elsew[k]=w[i]*(p[j]-1); } }}int main(){int n;make();while(cin>>n,n){cout<<w[n]<<endl;}}
0 0
- 欧拉函数
- 欧拉函数
- Relatives 【欧拉函数】
- 欧拉函数
- POJ_2407_欧拉函数
- 欧拉函数
- hdu_3501_欧拉函数
- 欧拉函数
- 欧拉函数
- 欧拉函数
- 欧拉函数
- 欧拉函数
- 欧拉函数
- 欧拉函数应用
- 欧拉函数
- 欧拉函数
- 欧拉函数
- ACM-欧拉函数
- htmlunit 执行 javascript 时,不下载整个页面只返回url
- springmvc之json数据交互controller方法返回值为简单类型
- equal_range
- Android界面——LinearLayout和RelativeLayout 属性对比
- MyEclipse2014破解小记
- 欧拉函数
- 用python解决你的实际问题,忘记语言吧
- Java面向对象个人学习和理解
- Mac上SSH的生成
- navicat 10.1.7 注册码
- appledoc文档生成工具
- Java操作Excel JAVA EXCEL API
- total command 指南
- 快速掌握Lua 5.3 —— "metatables" and "metamethods" (1)