欧拉函数与欧拉定理
欧拉函数
一、定义
欧拉函数
二、性质
以下涉及的数均为数论数.
(1)设p为素数,则
(2)若m=m1*m2 则有:
1.若m1,m2有相同质因子,则
2.若m1,m2互质,则
(3)p为素数,
(4)设
则
由(2.2)得
由(3)得
综上
所以对于求解欧拉函数,我们需要先进行质因数分解。
int euler(int x){
int res = x;
for(int i=2; i*i<=x; i++)
if(x % i == 0){
res = res / i * (i - 1);
while(x % i == 0) x /= i;
}
if(x > 1) res = res / x * (x - 1);
return res;
}
或者用每个质数去对它的倍数做贡献.
for(int i=1; i<=maxn; ++i) phi[i] = i;
for(int i=2; i<=maxn; i+=2) phi[i] /= 2;
for(int i=3; i<=maxn; i+=2)
if(phi[i] == i){
for(int j=i; j<=maxn; j+=i)
phi[j] = phi[j] / i * (i - 1);
}
(5)设n是一个大于2的正整数,那么ϕ(n)是偶数。
证明:对于大于2的质数p,其一定是奇数,那么
由(3)
p=2时,
对于大于2的素数p,
所以
又有积性性质
(6)对于n,有
证明:
易得
对于任意
欧拉定理
设gcd(a,m)=1,即a,m互质,则
证明:
取模m的缩系
所以
特别地,当m=p(p为素数)时,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现