φ ( n ) \varphi(n) φ(n) 表示 n n n 以内和 n n n 互质的数的个数
- 若 n n n 为质数 φ ( n ) = n − 1 \varphi(n)=n-1 φ(n)=n−1
- φ ( p k ) = p k − p k − 1 = p k ( p − 1 ) \varphi(p^k)=p^k-p^{k-1}=p^k(p-1) φ(pk)=pk−pk−1=pk(p−1)
- φ ( n ) \varphi(n) φ(n) 为积性函数,也就是若 a , b a,b a,b 互质,则 φ ( a b ) = φ ( a ) φ ( b ) \varphi(ab)=\varphi(a)\varphi(b) φ(ab)=φ(a)φ(b)
- ∑ d ∣ n φ ( d ) = n \sum_{d|n}\varphi(d)=n ∑d∣nφ(d)=n
- 欧拉定理:若 a , m ( m ≥ 2 ) a,m(m\ge 2) a,m(m≥2) 互质, a φ ( m ) ≡ 1 ( m o d m ) a^{\varphi(m)}\equiv 1\pmod m aφ(m)≡1(modm)
- 费马小定理:欧拉定理特殊形式,在 m m m 为质数时, a m − 1 ≡ 1 ( m o d m ) a^{m-1}\equiv 1\pmod m am−1≡1(modm)
T1
设 f ( n ) f(n) f(n) 为 n n n 的因数个数,答案就是 n − φ ( n ) − f ( n ) + 1 n-\varphi(n)-f(n)+1 n−φ(n)−f(n)+1
加1时因为1被算了2次
T2
考虑一个位置被看到,则有 gcd ( x , y ) = 1 \gcd(x,y)=1 gcd(x,y)=1。对于一个定的 y y y,合法 x x x 数就是 φ ( y ) \varphi(y) φ(y)
T3
易发现一个数如果含有一个因子属于 [ 2 , m ] [2,m] [2,m],则不合法。而且我们可以缩小范围,不能包含 [ 2 , m ] [2,m] [2,m] 内的质因子,设为 { p } \{p\} {p}。
类比欧拉函数计算公式,答案即为 n ! ∏ i = 1 n ( 1 − 1 p i ) n!\prod_{i=1}^n(1-\dfrac 1{p_i}) n!∏i=1n(1−pi1)
拓展欧拉定理
a b ≡ a b m o d φ ( p ) + φ ( p ) ( m o d p ) a^b\equiv a^{b\bmod \varphi(p)+\varphi(p)}\pmod p ab≡abmodφ(p)+φ(p)(modp)
其中,若 a , p a,p a,p 互质,则 a b ≡ a b m o d φ ( p ) a^b\equiv a^{b\bmod \varphi(p)} ab≡abmodφ(p)(这个直接用欧拉定理就可以证明了)
我们发现对于 b m o d φ ( p ) b\bmod \varphi(p) bmodφ(p) 的样子,一定形如一种混循环:
如果我们不加 φ ( p ) \varphi(p) φ(p),我们就可能无法进入的循环里,所以我们要多加一个 φ ( p ) \varphi(p) φ(p) 来保证进入圈内从而保证正确性。
需要注意的是,在 b < φ ( p ) b<\varphi(p) b<φ(p) 时,我们指数项不应该加上 φ ( p ) \varphi(p) φ(p),以下是一组反例 a = 2 , p = 4 , b = 1 a=2,p=4,b=1 a=2,p=4,b=1。
T4
不妨设 r p = 2 2 2 2 … m o d p r_p=2^{2^{2^{2\dots}}}\bmod p rp=2222…modp,根据扩展欧拉定理有:
r p ≡ 2 2 2 2 2 … m o d φ ( p ) + φ ( p ) ( m o d p ) r_p\equiv 2^{2^{2^{2^{2\dots}}}\bmod \varphi(p)+\varphi(p)}\pmod p rp≡22222…modφ(p)+φ(p)(modp)
r p ≡ 2 2 φ ( p ) + φ ( p ) ( m o d p ) r_p\equiv 2^{2_{\varphi(p)}+\varphi(p)}\pmod p rp≡22φ(p)+φ(p)(modp)
递归解决即可