数论之欧拉函数
来源:互联网 发布:莲花网络意思 编辑:程序博客网 时间:2024/04/28 19:56
1.定义:对正整数n,欧拉函数φ(n)指是小于n的所有数中与之互质的个数(包含1)。
如φ(8)=4,因为1,3,5,7均和8互质。
2.表达形式:
n=p1^a1*p2^a2*……*pi^ai;(即分解质因数形式)
3.计算公式:
例如:φ(8)=4有1,3,5,7 8=2^3, φ(8)=8*(1-1/2)=4.
φ(10)=4有1,3,7,9 10=(2^1)(5^1), φ(10)=10*(1-1/2)(1-1/5)=4.
4.性质:
a)当p为质数时, φ(p) = p – 1。
证明:因为小于本身的数都与该数互质,但是注意φ(1)=1.
b)对于互质的正整数a和n,有a^φ(n) ≡ 1 (mod n) (mod n的意思是两边同时%n).
c)费马小定理:若正整数a 与素数p 互质,则有a^(p - 1)≡1 mod p。
证明:由于性质a可知当p为质数,φ(p) = p -1,代入性质b即可证明。
d)当n为奇数时φ(2n)=φ(n).
e)当n和m互质时,φ(n*m)=φ(n)*φ(m).
f)若n=p^k(p为质数),φ(n)=p^k-p^(k-1).
证明:因为除了p的倍数外,其他数都跟n互质。
5.朴素算法实现:
.根据公式1:n=p1^k1*p2^k2*…pr^kr和公式2:φ(n)=n (1-1/p1) … (1-1/pk)可将公式2可拆成n* (1-1/p1)=n-n/p1计算。
int euler(int n){ int i,ans=n; for(i=2; i*i<=n; i++) if(n%i==0) { ans=ans-ans/i; do n/=i;//把该素因子全部约掉 while(n%i==0); } if(n>1) ans=ans-ans/n; return ans;}
6.题目推荐
ps:丢了就是丢了,补完了也觉得缺了点什么,想到了再补吧XD
- 数论之欧拉函数
- 数论之欧拉函数
- ACM常用数论之欧拉函数
- 数论欧拉函数
- 欧拉函数(数论)
- 数论-欧拉函数
- 欧拉函数---数论
- uva10820(数论 +欧拉函数)
- 欧拉函数(数论)
- 欧拉函数相关数论
- ACM第一课---数论之欧拉函数
- ACM第一课---数论之欧拉函数
- hdoj 1286 找新朋友 【数论之欧拉函数】
- 数论之素数,包括eratosthenes算法,欧拉函数
- 欧拉函数总结【数论】【欧拉函数】
- [数论] HOJ 1953 Relatives 欧拉函数
- hdu 数论+ 欧拉函数 1787
- 数论——欧拉函数
- 第12天(就业班) 课程回顾、session案例、通讯录、jsp入门、指令
- 时分秒
- Redis对象-4-集合对象
- 2阶 3阶行列式 求解
- Java之—— JAVA Web项目中DLL/SO文件动态加载方法
- 数论之欧拉函数
- mybatis property column
- leetcode 456. 132 Pattern题解
- Hdu 6012 Lotus and Horticulture【思维】
- 初学Linux---配置网络与软件下载(一)
- 习题**二维数组的行、列互换
- python进制转换——py学习笔记
- mini2440使用nfs无法启动的问题解决
- CMAKE 中文文档