后台显示没炸,前台看着炸公式了,可以点以下链接去看
文章内容
欧拉函数
欧拉函数常用性质
欧拉定理
扩展欧拉定理
线性筛法
欧拉反演
欧拉函数
欧拉函数常用性质
若
n n n 为质数,显然
φ ( n ) = n − 1 \varphi(n)=n-1 φ ( n ) = n − 1
\begin{aligned}\end{aligned}
欧拉函数是积性函数
积性函数: 对于任意
互质 的整数
a a a 和
b b b 有性质
f ( a b ) = f ( a ) ⋅ f ( b ) f(ab)=f(a)·f(b) f ( ab ) = f ( a ) ⋅ f ( b ) 的数论函数。
若
m , n m,n m , n 互质,
φ ( m n ) = φ ( m ) ⋅ φ ( n ) \varphi(mn)=\varphi(m)·\varphi(n) φ ( mn ) = φ ( m ) ⋅ φ ( n )
\begin{aligned}\end{aligned}
如果
x = 2 n x=2n x = 2 n (
n n n 为奇数),
φ ( x ) = φ ( n ) \varphi(x)=\varphi(n) φ ( x ) = φ ( n ) 即
φ ( 2 n ) = φ ( n ) \varphi(2n)=\varphi(n) φ ( 2 n ) = φ ( n ) (
n n n 为奇数)
n为奇数时,n与2互质,
φ ( 2 ) = 1 \varphi(2)=1 φ ( 2 ) = 1
\begin{aligned}\end{aligned}
若
p p p 为质数,则
φ ( p k ) = p k − p k − 1 \varphi(p^k)=p^k-p^{k-1} φ ( p k ) = p k − p k − 1
因为与
p k p^k p k 不互质的只有
p p p 的倍数,而
p k p^k p k 中
p p p 的倍数有
p k − 1 p^{k-1} p k − 1 个
\begin{aligned}\end{aligned}
当
x > 2 x>2 x > 2 时,
φ ( x ) \varphi(x) φ ( x ) 为偶数
这一点需要了解更相减损术 即
g c d ( n , x ) = g c d ( n , n − x ) gcd(n,x)=gcd(n,n-x) g c d ( n , x ) = g c d ( n , n − x )
由该公式我们可以知道,所有与
n n n 互质的数都是成对出现的
\begin{aligned}\end{aligned}
小于n的数中,与n互质的数的总和为
φ ( n ) ∗ n / 2 ( n > 1 ) \varphi(n)*n/2\ \ (n>1) φ ( n ) ∗ n /2 ( n > 1 )
由上面的证明(更相减损术)我们知道,每一对与
n n n 互质的数的和为
n n n ,共有
φ ( n ) / 2 \varphi(n)/2 φ ( n ) /2 对
\begin{aligned}\end{aligned}
n = ∑ d ∣ n φ ( d ) n=\sum_{d|n}\varphi(d) n = ∑ d ∣ n φ ( d ) 即
n n n 的因数
( ( ( 包括
1 1 1 和它自己
) ) ) 的欧拉函数之和等于
n n n
这条性质的运用又叫
欧拉反演
定义函数
f ( n ) = ∑ d ∣ n φ ( d ) \begin{aligned}f(n)=\sum_{d|n}\varphi(d)\end{aligned} f ( n ) = d ∣ n ∑ φ ( d )
f ( n ) f(n) f ( n ) 为积性函数
f ( n ) ⋅ f ( m ) = ∑ i ∣ n φ ( i ) ∑ j ∣ m φ ( j ) = ∑ i ∣ n ∑ j ∣ m φ ( i ) ⋅ φ ( j ) = ∑ i ∣ n ∑ j ∣ m φ ( i ⋅ j ) = ∑ d ∣ n m φ ( d ) = f ( n m ) \begin{aligned}f(n)·f(m)=\sum_{i|n}\varphi(i)\sum_{j|m}\varphi(j)=\sum_{i|n}\sum_{j|m}\varphi(i)·\varphi(j)=\sum_{i|n}\sum_{j|m}\varphi(i·j)=\sum_{d|nm}\varphi(d)=f(nm)\end{aligned} f ( n ) ⋅ f ( m ) = i ∣ n ∑ φ ( i ) j ∣ m ∑ φ ( j ) = i ∣ n ∑ j ∣ m ∑ φ ( i ) ⋅ φ ( j ) = i ∣ n ∑ j ∣ m ∑ φ ( i ⋅ j ) = d ∣ nm ∑ φ ( d ) = f ( nm )
f ( p k ) = φ ( 1 ) + φ ( p ) + φ ( p 2 ) + ⋯ + φ ( p k ) = 1 + ( p − 1 ) + ( p 2 − p ) + ⋯ + ( p k − p k − 1 ) = p k f(p^k)=\varphi(1)+\varphi(p)+\varphi(p^2)+\cdots+\varphi(p^k)=1+(p-1)+(p^2-p)+\cdots+(p^k-p^{k-1})=p^k f ( p k ) = φ ( 1 ) + φ ( p ) + φ ( p 2 ) + ⋯ + φ ( p k ) = 1 + ( p − 1 ) + ( p 2 − p ) + ⋯ + ( p k − p k − 1 ) = p k
n = p 1 k 1 ⋅ p 2 k 2 ⋅ ⋯ ⋅ p m k m n=p_1^{k_1} ·p_2^{k_2}· \cdots·p_m^{k_m} n = p 1 k 1 ⋅ p 2 k 2 ⋅ ⋯ ⋅ p m k m
f ( n ) = f ( p 1 k 1 ) ⋅ f ( p 2 k 2 ) ⋅ ⋯ ⋅ f ( p m k m ) = p 1 k 1 ⋅ p 2 k 2 ⋅ ⋯ ⋅ p m k m = n f(n)=f(p_1^{k_1})·f(p_2^{k_2})·\cdots·f(p_m^{k_m})=p_1^{k_1} ·p_2^{k_2}· \cdots·p_m^{k_m}=n f ( n ) = f ( p 1 k 1 ) ⋅ f ( p 2 k 2 ) ⋅ ⋯ ⋅ f ( p m k m ) = p 1 k 1 ⋅ p 2 k 2 ⋅ ⋯ ⋅ p m k m = n
\begin{aligned}\end{aligned}
欧拉定理
若
a , m a,m a , m 互质,
a φ ( m ) ≡ 1 ( m o d m ) a^{\varphi(m)}≡1(mod\ m) a φ ( m ) ≡ 1 ( m o d m )
证明
剩余系 指对于某一个特定的正整数n n n ,一个整数集中的数m o d n mod\ n m o d n 所得的余数域。
完全剩余系
设m ∈ Z + m\in Z+ m ∈ Z + ,若r 0 r_0 r 0 ,r 1 . . . r_1... r 1 ... r m − 1 r_{m-1} r m − 1 为m m m 个整数,并且两两模m m m 不同余,则r 0 r_0 r 0 ,r 1 . . . r_1... r 1 ... r m − 1 r_{m-1} r m − 1 叫作模m m m 的一个完全剩余系。
缩系 设A A A 是m o d n mod\ n m o d n 的剩余系,若任意A A A 中两个元素相乘m o d n mod\ n m o d n 后仍为A A A 中的元素,则称A A A 为m o d n mod\ n m o d n 的缩系
若a , m a,m a , m 互质,则m m m 的一个缩系为
{ x 1 , x 2 , x 3 . . . x φ ( m ) } \{x_1,x_2,x_3...x_{\varphi(m)}\} { x 1 , x 2 , x 3 ... x φ ( m ) }
{ a x 1 % m , a x 2 % m , a x 3 % m . . . a x φ ( m ) % m } \{ax_1\%m,ax_2\%m,ax_3\%m...ax_{\varphi(m)}\%m\} { a x 1 % m , a x 2 % m , a x 3 % m ... a x φ ( m ) % m } 也是m o d m mod\ m m o d m 的缩系
于是可以得到
∑ i = 1 φ ( m ) a x i ≡ ∑ i = 1 φ ( m ) x i ( m o d m ) \sum_{i=1}^{\varphi(m)}ax_i\equiv \sum_{i=1}^{\varphi(m)}x_i\ (mod\ m) ∑ i = 1 φ ( m ) a x i ≡ ∑ i = 1 φ ( m ) x i ( m o d m )
a φ ( m ) ∑ i = 1 φ ( m ) x i ≡ ∑ i = 1 φ ( m ) x i ( m o d m ) a^{\varphi(m)}\sum_{i=1}^{\varphi(m)}x_i\equiv \sum_{i=1}^{\varphi(m)}x_i\ (mod\ m) a φ ( m ) ∑ i = 1 φ ( m ) x i ≡ ∑ i = 1 φ ( m ) x i ( m o d m )
a φ ( m ) ≡ 1 ( m o d m ) a^{\varphi(m)}\equiv 1\ (mod\ m) a φ ( m ) ≡ 1 ( m o d m )
而当m m m 为质数时,φ ( m ) = m − 1 \varphi(m)=m-1 φ ( m ) = m − 1
a ( m − 1 ) ≡ 1 ( m o d m ) a^{(m-1)}≡1(mod\ m) a ( m − 1 ) ≡ 1 ( m o d m )
这就是我们熟知的 费马小定理
变式 a , m a,m a , m 互质a b ≡ a b % φ ( m ) ( m o d m ) a^b≡a^{b\%\varphi(m)}(mod\ m) a b ≡ a b % φ ( m ) ( m o d m )
扩展欧拉定理
若
b > φ ( m ) b>\varphi(m) b > φ ( m ) 即使
a , m a,m a , m 不互质 ,
a b ≡ a b % φ ( m ) + φ ( m ) ( m o d m ) a^b≡a^{b \%\varphi(m)+\varphi(m)}\left(mod\ m\right) a b ≡ a b % φ ( m ) + φ ( m ) ( m o d m )
证明
从m m m 中提一个质因子p p p 出来 令m = p k ⋅ s m=p^k·s m = p k ⋅ s
有g c d ( p k , s ) = 1 gcd(p^k,s)=1 g c d ( p k , s ) = 1 ,即p k , s p^k,s p k , s 互质
根据欧拉定理,我们知道p φ ( s ) ≡ 1 ( m o d s ) p^{\varphi(s)}≡1(mod\ s) p φ ( s ) ≡ 1 ( m o d s )
根据欧拉函数是积性函数,我们知道φ ( s ) ∣ φ ( m ) \varphi(s)|\varphi(m) φ ( s ) ∣ φ ( m ) 所以有p φ ( m ) ≡ p φ ( s ) ( m o d s ) p^{\varphi(m)}≡p^{\varphi(s)}(mod\ s) p φ ( m ) ≡ p φ ( s ) ( m o d s )
设p φ ( s ) = x s + 1 p^{\varphi(s)}=xs+1 p φ ( s ) = x s + 1
那么p φ ( s ) + k = x m + p k p^{\varphi(s)+k}=xm+p^k p φ ( s ) + k = x m + p k
所以p φ ( s ) + k ≡ p k ( m o d m ) p^{\varphi(s)+k}≡p^k (mod\ m) p φ ( s ) + k ≡ p k ( m o d m ) ,也有p φ ( m ) + k ≡ p k ( m o d m ) p^{\varphi(m)+k}≡p^k (mod\ m) p φ ( m ) + k ≡ p k ( m o d m )
当b ≥ k b\geq k b ≥ k 时,p b ≡ p b − k ⋅ p k ≡ p b − k ⋅ p φ ( s ) + k ≡ p b + φ ( m ) ( m o d m ) p^b≡p^{b-k}·p^k≡p^{b-k}·p^{\varphi(s)+k}≡p^{b+\varphi(m)}(mod\ m) p b ≡ p b − k ⋅ p k ≡ p b − k ⋅ p φ ( s ) + k ≡ p b + φ ( m ) ( m o d m )
又因为k ≤ φ ( p k ) ≤ φ ( m ) k\leq\varphi(p^k)\leq\varphi(m) k ≤ φ ( p k ) ≤ φ ( m ) ,所以当b ≥ 2 φ ( m ) b\geq 2\varphi(m) b ≥ 2 φ ( m ) 时,满足p b ≡ p b − φ ( m ) ( m o d m ) p^b≡p^{b-\varphi(m)}(mod\ m) p b ≡ p b − φ ( m ) ( m o d m )
注意是2 φ ( m ) 2\varphi(m) 2 φ ( m ) !
所以可以得到p b ≡ p b % φ ( m ) + φ ( m ) ( m o d m ) p^b≡p^{b\%\varphi(m)+\varphi(m)}(mod\ m) p b ≡ p b % φ ( m ) + φ ( m ) ( m o d m )
因此我们可以得到对任意质数p p p 都有b ≥ 2 φ ( m ) , p b ≡ p b % φ ( m ) + φ ( m ) ( m o d m ) b\geq 2\varphi(m),p^b≡p^{b\%\varphi(m)+\varphi(m)}(mod\ m) b ≥ 2 φ ( m ) , p b ≡ p b % φ ( m ) + φ ( m ) ( m o d m )
非m m m 质因子的p p p ,有欧拉定理
将a a a 因式分解,可以得到
a b ≡ a b % φ ( m ) + φ ( m ) ( m o d m ) a^b≡a^{b\%\varphi(m)+\varphi(m)}(mod\ m) a b ≡ a b % φ ( m ) + φ ( m ) ( m o d m )
注意 b < φ ( m ) b<\varphi(m) b < φ ( m ) 时,公式不一定成立
线性筛法
类似与筛素数,我们在这里利用欧拉函数是积性函数这个性质来筛
φ \varphi φ
CPP int cnt;
int prime[maxn],phi[maxn];
bool vis[maxn];
void Euler_sieve (int n)
{
phi[1 ]=1 ;
for (int i=2 ;i<=n;++i){
if (!vis[i]) prime[++cnt]=i,phi[i]=i-1 ;
for (int j=1 ;j<=cnt&&i*prime[j]<=n;++j){
vis[i*prime[j]]=true ;
if (i%prime[j]==0 ){ phi[i*prime[j]]=phi[i]*prime[j];break ;}
phi[i*prime[j]]=phi[i]*phi[prime[j]];
}
}
}
欧拉反演
本来没有欧拉反演这个名字的,只不过大家习惯性称之为欧拉反演
所谓欧拉反演其实就是利用欧拉函数的一条性质
n = ∑ d ∣ n φ ( d ) \begin{aligned}n=\sum_{d|n}\varphi(d)\end{aligned} n = d ∣ n ∑ φ ( d )
(上面有证明)
我们试着把
n n n 换成其他东西试试
g c d ( i , j ) = ∑ d ∣ g c d ( i , j ) φ ( d ) = ∑ d ∣ i ∑ d ∣ j φ ( d ) \begin{aligned}gcd(i,j)=\sum_{d|gcd(i,j)}\varphi(d)=\sum_{d|i}\sum_{d|j}\varphi(d)\end{aligned} g c d ( i , j ) = d ∣ g c d ( i , j ) ∑ φ ( d ) = d ∣ i ∑ d ∣ j ∑ φ ( d )
让我们求个东西试试
∑ i = 1 n g c d ( i , n ) = ∑ i = 1 n ∑ d ∣ i ∑ d ∣ n φ ( d ) = ∑ d ∣ n ∑ i = 1 n ∑ d ∣ i φ ( d ) = ∑ d ∣ n n d φ ( d ) \begin{aligned}\sum_{i=1}^ngcd(i,n)=\sum_{i=1}^n\sum_{d|i}\sum_{d|n}\varphi(d)=\sum_{d|n}\sum_{i=1}^n\sum_{d|i}\varphi(d)=\sum_{d|n}\frac{n}{d}\varphi(d)\end{aligned} i = 1 ∑ n g c d ( i , n ) = i = 1 ∑ n d ∣ i ∑ d ∣ n ∑ φ ( d ) = d ∣ n ∑ i = 1 ∑ n d ∣ i ∑ φ ( d ) = d ∣ n ∑ d n φ ( d )
把它重写一遍作为结论
∑ i = 1 n g c d ( i , n ) = ∑ d ∣ n n d φ ( d ) \begin{aligned}\sum_{i=1}^ngcd(i,n)=\sum_{d|n}\frac{n}{d}\varphi(d)\end{aligned} i = 1 ∑ n g c d ( i , n ) = d ∣ n ∑ d n φ ( d )
感谢
@Everything_will_die
@bcr_233
@Pour
@渣渣lyz
指出错误,已更正,博主最近电脑被控制,不能及时回复,敬请原谅