void Init(){
for(int i=2;i<=lim;i++){
if(!mk[i]){
pri[++psz]=i;
phi[i]=i-1;
}
for(int j=1,k;j<=psz;j++){
k=pri[j];
if(i*k>lim)break;
mk[i*k]=1;
if(i%k==0){
phi[i*k]=phi[i]*k;
break;
}else phi[i*k]=phi[i]*phi[k];
}
}
}
欢迎使用CSDN-markdown编辑器
最新推荐文章于 2021-01-07 23:01:28 发布