码迷,mamicode.com
首页 > 其他好文 > 详细

欧拉函数

时间:2019-11-01 13:16:12      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:phi   void   col   color   class   break   code   ++   lse   

 1 const int maxn = 10000000 + 5;
 2 int n,tot;
 3 LL S[maxn];
 4 LL pri[maxn],phi[maxn];
 5 LL ans;
 6 void Phi()
 7 {
 8     phi[1]=1;
 9     for(int i=2;i<=n;i++)
10     {
11         if(!phi[i]){phi[i]=i-1;pri[++tot]=i;}
12         for(int j=1;j<=tot;j++)
13         {
14             int x=pri[j];
15             if(i*x>n)break;
16             if(i%x==0){phi[i*x]=phi[i]*x;break;}
17             else phi[i*x]=phi[i]*phi[x];
18         }
19     }
20 }

突然发现欧拉函数好强啊!!!

欧拉函数

标签:phi   void   col   color   class   break   code   ++   lse   

原文地址:https://www.cnblogs.com/transcendent-heming/p/11776249.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!