拓展欧拉定理漫谈
已知数列$\left\{a_n\right\}: 3^1,3^2,3^3 \cdots$
问第2022项个位数字多少
这个小学找规律问题很简单,$3^n$个位数以3,9,7,1为循环节循环,照这个规律很容易得到答案
作为掌握一定数论知识的我们,当然要探其渊薮
个位数的本质是mod 10,而(3,10)=1,根据欧拉定理$3^{\varphi(10)}\equiv 1(mod 10)$ $\varphi(10)=4$ 所以周期为4
进一步思考的读者会有这样的发现:
设$a_n=a^n(a\in\mathbb{N^*},n\ge1)$那么对于所有a,$\left\{a_n(mod 10)\right\}$的公共周期为4
这是容易说明的,对所有a,$\left\{a^n(mod 2)\right\}$的公共周期为1
若$5\mid a$,则$\left\{a^n(mod 5)\right\}$的周期为1,若(5,a)=1则$\left\{a^n(mod 5)\right\}$周期为$\varphi(5)=4$
因此对所有$a\in\mathbb{N^*}$,$\left\{a^n(mod 10)\right\}$的公共周期为$[\varphi(2),\varphi(5)]=4$
现在回到正轨
由此看来,一般的自然数幂取模都具有周期性
对于底数为a,模数为m的数列$\left\{a^n(mod m)\right\}$,若(a,m)=1,根据朴素欧拉定理$\varphi(m)$为一个周期
但$\varphi(m)$不一定是最小周期,由此引出了初等数论中阶(又称指数)与原根的概念
阶定义:m>1,(a,m)=1,使$a^r\equiv 1(mod m)$成立的最小$r\in{N^*}$叫a对模m的阶,记作$\delta_m(a)$
原根定义:若$\delta_m(a)=\varphi(m)$,称a是mod m的一个原根
当然,阶与原根不是我们今天的主角,感兴趣的读者可以进一步了解相关有趣的性质与定理
好奇的读者会追问,如果a与 m不互素,周期性又是怎样的呢
先来看个例子 对于$\left\{2^n(mod 20)\right\}$
2 4 8 16 32 24 8 16 32 24 $\cdots \cdots$
后面8,16,32,24以4为周期循环,但前两项不符合规律
类比循环小数的定义,我们来定义模纯周期数列与模混周期数列
对于整数列$\left\{a^n\right\}$,存在常正整数T,若从它的第N项起,恒有$a_{n+T}\equiv a_n(mod m) (n\ge N)$成立
则称$\left\{a^n(mod m)\right\}$为模m的周期数列
当N=1时称为模纯周期数列,否则为模混周期数列
这两个概念很容易理解
对于一般的自然数取模数列,若(a,m)=1则必定为模纯周期数列
若a与 m不互素,则可能为模混周期数列
在程序设计中,为了求出高次幂取模,我们常常用欧拉定理化大指数为小指数,再利用快速幂解决
当(a,m)$\ne 1$时扩展欧拉定理便派上了用场
这基于我们一个猜想:模混周期数列的非循环部分长度一定不超过$\varphi(m)$
$a^b\equiv \left\{\begin{matrix} a^{b\:mod\:\varphi(m)}\quad(a,m)=1\\ a^b\quad(a,m)\ne1,b\le\varphi(m)\\ a^{b\:mod\:\varphi(m)+\varphi(m)}\quad(a,m)\ne1,b\ge\varphi(m) \end{matrix}\right. (mod\:m)$
由于$b\le \varphi(m)$时用快速幂暴力处理即可
下面给出$b\ge \varphi(m)$证明:
综上得证
这个证明的核心步骤是$a^{n\varphi(m)}\equiv a^{\varphi(m)}(mod\:m)$
任取$n\ge 1$都成立,其实就是暗示模混周期数列的非循环部分长度一定不超过$\varphi(m)$,并且循环节的长度也不超过$\varphi(m)$
理解这个原理,就可以轻松做洛谷P5091 【模板】扩展欧拉定理啦

浙公网安备 33010602011771号