欧拉函数就是 小于等于n与n互质的数 的 个数
打表求N以内的欧拉函数
void phi_table(int N)
{
memset(phi, 0, sizeof(phi));
phi[1] = 1; // 1与 1互质所以 1 的欧拉函数值为1
for(int i = 2;i <=N;i++)
{
if(!phi[i])
{
for(int j = i;j <= N;j+=i)//这两个循环本质是筛 j的 质因子
{
if(!phi[j])phi[j] = j;// 如果等于0 初始化为j
phi[j] = phi[j]*(i-1)/i; // 根据欧拉函数的通式
}
}
}
}