欧拉函数相关

  • 线欧拉函数线性筛

:相关性质 :
  • phi[1]=1phi[1]=1.

  • phi[p]=p1phi[p]=p-1, (pp 为质数)

  • pxp|x,   phi[xp]=phi[x]p phi[x*p]=phi[x]*p, 否则 phi[xp]=phi[x](p1)phi[x*p]=phi[x]*(p-1).

证明有时间再填坑吧 …

红色字体可以记为: 无约减一/有余减一.

放出代码

		for(int i = 2; i < N; i ++)
                if(!sign[i]) prime[++num] = i, phi[i] = i - 1;
                for(int j = 1; i*prime[j] <= N && j <= num; j ++){
                        sign[i*prime[j]] = 1;
                        if(i % prime[j]) phi[i*prime[j]] = phi[i] * (prime[j]-1);
                        else{
                                phi[i*prime[j]] = phi[i] * prime[j];
                                break ;
                        }
                }

  • 欧拉函数相关

dNφ(d)=Nsum_{d|N} varphi(d) = N

:证明 :

可以点击 这里

待填坑
原文地址:https://www.cnblogs.com/zbr162/p/11822572.html