费马小定理与欧拉定理
定义
若整数a和整数b,除以正整数m得到的余数相等,称为a,b模m同余,记作。
费马小定理
若p为质数,a是任意整数并且,那么有
欧拉定理
若正整数a,m互质,那么有
欧拉定理推论
若正整数a,n互质,则对于任意的
当a,n不一定互质并且的时候满足原因在于指数循环节,第个往后一定会循环,这个公式也叫欧拉降幂公式。
费马小定理
若p为质数,a是任意整数并且,那么有
分析:
因为p是质数,只有两种情况
1.显然不成立
2.,a是p的倍数,
思考一下这个公式为什么成立
可以看出当x按顺序从1到6排列时,出现的数是1~6,但是顺序打乱了。通过这个现象可以发现下面的公式是成立的。
引理:若p为质数,a是任意整数并且,数列f:1,2,3,4...p-1。任意一个数都能在数列g:a mod p,2a mod p,... (p-1)a mod p中找到一个相同的数。
反证法:假设任意两个整数j和k,,满足。
通过上面公式可以推导出
因为gcd(a,p)=1所以根据j和k的范围可知,所以不可能成立,假设失败,数列g中不存在任意两个数相等。因为g一共有p-1个数,0到p-1一共有p个位置。因为gcd(a,p)=1不可能存在g数列出现0的情况。所以g数列中的数是1到p-1。
根据引理可知,这个公式是成立的。
欧拉定理
若正整数a,m互质,那么有,是欧拉函数。欧拉定理证明费马小定理证明思路相同
引理:若正整数a,m互质,并且其中,那么整数序列与整数数列,值相同但是次序不同。
反证法证明:任意正整数,使得成立,相当于只有当j==k时成立。因此就证明了第二个整数序列不可能存在两个相等的数。并且任意一个正整数 gcd(z*a,p)=gcd(z,p)=1,每个数都与p互质,一共有个数。1到p-1中与p互质的数只有\varphi (m)个数。所以就证明了这两个数列是值相等,但是次序不同。
根据引理可以得到
欧拉定理推论
若正整数a,n互质,则对于任意的
因为很明显成立。
当正整数a,n不一定互质并且的时候满足
假设上一次计算出的 = b,那么我们可以确定下一个的数是。
假设b无穷大,让i从1到b扫描,计算出,这个数一定有在0到p-1之间。有无数个,但是最后只有p个位置。所以有的位置一定会被重复占用。
通过上面的两个假设,可以确定的值是不断循环的。如果我们能找出他是如何循环的。就可以让b变为一个更小的数去计算。
令一种解释是,i从1到n+1扫描,最少有一对数是相等的。因为n+1个数对应0~n-1,n个位置最少有两个数占用了一个位置。假设这两个数的位置分别是j和k并且j>k,那么他们两个的下一个位置,根据数学归纳法当j+i=k时是一个循环。循环长度len是j-k。因此当b非常大时,可以将b放到n到n+len-1,计算。
但是这个降幂公式根据确切表明,最少在第个数进入循环,并且循环长度的倍数是
欧拉降幂公式证明
当我们计算。可以先求解,使用欧拉降幂公式缩小b,使用快速幂求解。的时间就可以计算出结果。