为了账号安全,请及时绑定邮箱和手机立即绑定

什么是欧拉函数

什么是欧拉函数

C
宝慕林6992211 2016-04-26 21:59:12
什么是欧拉函数
查看完整描述

2 回答

已采纳
?
qq___524

TA贡献171条经验 获得超74个赞

//直接求解欧拉函数  int euler(int n){ //返回euler(n)   
     int res=n,a=n;  
     for(int i=2;i*i<=a;i++){  
         if(a%i==0){  
             res=res/i*(i-1);//先进行除法是为了防止中间数据的溢出   
             while(a%i==0) a/=i;  
         }  
     }  
     if(a>1) res=res/a*(a-1);  
     return res;  
}  //筛选法打欧拉函数表   #define Max 1000001  int euler[Max];  void Init(){   
     euler[1]=1;  
     for(int i=2;i<Max;i++)  
       euler[i]=i;  
     for(int i=2;i<Max;i++)  
        if(euler[i]==i)  
           for(int j=i;j<Max;j+=i)  
              euler[j]=euler[j]/i*(i-1);//先进行除法是为了防止中间数据的溢出   }


查看完整回答
反对 回复 2016-04-26
?
宝慕林6992211

TA贡献1条经验 获得超0个赞

什么是欧拉函数
查看完整回答
反对 回复 2016-04-26
  • 2 回答
  • 0 关注
  • 1713 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信