我们利用
φ
函数是积性函数
时间复杂度
O(n)
fo(i,2,N)
{
if (!ss[i])
{
ss[++tot]=i;
phi[i]=i-1;
}
fo(j,1,tot)
{
if (i*ss[j]>N) break;
ss[i*ss[j]]=1;
if (i%ss[j]==0) phi[i*ss[j]]=phi[i]*ss[j];
else phi[i*ss[j]]=phi[i]*(ss[j]-1);
}
}