欧拉函数性质及模板

mac2022-06-30  32

(以下p表示质数)

①当n = p^k时:  

②若m,n互质:

③n为质数时: 

④对任何两个互质的正整数a, m(m>=2)有

 即欧拉定理

当m是质数p时,此式则为:

 即费马小定理

⑤所有小于n并且与n互质数的和为:sum = n * φ(n)/2

⑥如果 i mod p=0,其中p为质数,则 φ(i∗p)=p∗φ(i),否则φ(i∗p)=(p−1)φ(i)

模板

bool vis[N]; //质数为0 int prime[N], phi[N]; //一个存质数,一个是欧拉函数 void get_prime(){ int pos = 0; phi[1] = 1; vis[1] = 1; for(ll i = 2; i <= N; i++){ if(!vis[i]){ prime[++pos] = i; phi[i] = i-1; } for(ll j = 1; j <= pos && prime[j]*i <= N; j++){ vis[i*prime[j]] = 1; if(i%prime[j] == 0){ phi[i*prime[j]] = phi[i]*prime[j]; break; } phi[i*prime[j]] = phi[i]*phi[prime[j]]; } } }

 

转载于:https://www.cnblogs.com/philo-zhou/p/11366319.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)