void phi_table(int n){
for(int i=2;i<=n;i++)phi[i]=0;//先初始化所有为0
phi[1]=1;//小于等于1且与1互质的数 初始化为1
for(int i=2;i<=n;i++)if(!phi[i])//如果这个数没有被改变过 说明这个数 i为素数
for(int j=i;j<=n;j+=i){
if(!phi[j])phi[j]=j;//如果这个数没被使用过 则初始化为j 因为最后要得出的式子为f(n)=n*(1-1/p1)*(1-1/p2).....*(1-1/pn) 让phi[j]=j就是乘以前面那个n
phi[j]=phi[j]/i*(i-1);所有i的倍数的数都以i为素因子
}
}