欧拉降幂公式,是数学中的一个重要公式,它可以用来简化幂运算的复杂度,使得计算更加高效。这个公式的发现者是瑞士数学家欧拉(Euler),他在18世纪时提出了这个公式,并且在数学领域中有广泛的应用。
这个公式的应用非常广泛,特别是在密码学中。在RSA加密算法中,就需要用到欧拉降幂公式来计算密文的解密过程。此外,在计算机科学中,欧拉降幂公式也被广泛应用于快速幂算法、离散对数算法等领域。
这个公式的表述为:(a↑b) mod n={a↑[b mod φ(n)+φ(n)} mod n,其中a、b、n均为正整数,φ(n)表示小于n的正整数中与n互质的数的个数*。这个公式的意义是,当我们要计算(a↑b)对n取模**的结果时,可以先将b对φ(n)取模,然后加上φ(n),然后以这个结果为指数对a进行幂运算,得到的结果再对n取模。
这个公式的证明过程比较复杂,需要用到欧拉定理和费马小定理等数学知识。感兴趣的读者可以到网上去搜其证明过程,我在这里不多说了。
现在,让我来用这个公式来求一下(3↑(3↑(3↑3)))的最后两位数。其过程如下:
求(3↑(3↑(3↑3)))mod 100,先求(3↑(3↑3))mod φ(100)+φ(100),即(3↑(3↑3))mod 40 +40,结果为67,也就是说,(3↑(3↑(3↑3)))mod 100=(3↑67)***mod 100=87。
同样的道理,也可以求出(3↑(4↑(5↑6)))的最后两位数为81。
我之前曾经说过,葛立恒数的最后12位数为262,464,195,387,就是用欧拉降幂公式导出来的。
说明:
*φ(100)可以这样求:首先对100分解质因数,结果为2×2×5×5,也就是说,与100互质的数不能是2或5的倍数,由此可以得到小于100的整数中,2的倍数有49个,5的倍数有19个,2与5的公倍数有9个,所以φ(100)=40。同样的道理,φ(40)=16。
**取模运算就是取余数的运算
***(3↑67)=92,709,463,147,897,837,085,761,925,410,587
隐藏内容需要登录才可以看见