求欧拉函数模板

来源:互联网 发布:linux 挂载iso什么意思 编辑:程序博客网 时间:2024/05/18 04:00

点击打开链接 view plain copy

  1. int eular(int n)  
  2. {  
  3.     int s,i;  
  4.     s=n;  
  5.     for(i=2;i*i<=n;i++)  
  6.     {  
  7.         if(n%i==0)  
  8.         {  
  9.             n/=i;  
  10.             s=s/i;  
  11.             s=s*(i-1);  
  12.             while(n%i==0)  
  13.             {  
  14.                 n/=i;  
  15.             }  
  16.         }  
  17.     }  
  18.     if(n>1)  
  19.     {  
  20.         s=s/n;  
  21.         s=s*(n-1);  
  22.     }  
  23.     return s;  
  24.  }  
原创粉丝点击