线性筛(欧拉筛)筛素数、欧拉数
phi[1]=1;
for (int i=2;i<=1000000;++i)
{
if (!phi[i])
{
pri[++prt]=i;
phi[i]=i-1;
}
for (int j=1;j<=prt;++j)
{
int x=i*pri[j];
if (x>1000000) break;
if (i%pri[j]==0)
{
phi[x]=phi[i]*pri[j];
break;
}
phi[x]=phi[i]*(pri[j]-1);
}
}