超级次方的个人笔记
题目链接 :https://leetcode-cn.com/problems/super-pow/
a^b %c == a^(b%phi(c)) % c
本题求解需要用到欧拉定理 https://baike.baidu.com/item/%E6%AC%A7%E6%8B%89%E5%AE%9A%E7%90%86/891345?fr=aladdin
mod,是一个数学运算符号。指求余运算符 例如a mod b=c,表明a除以b余数为c。
给定一个正整数m,如果两个整数a和b满足a-b能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余,记作a≡b(mod m)。
φ(m) 为欧拉函数:在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目.
欧拉函数有一个便于计算的公式
其中 是 的所有不重复的素因子。
https://baike.baidu.com/item/%E6%AC%A7%E6%8B%89%E5%87%BD%E6%95%B0/1944850?fr=aladdin
使用快速幂算法:
乘法在取模的意义下满足分配律,即
(a⋅b)modm=[(amodm)⋅(bmodm)]modm