编程闯关 难度 3
本星球大 Boss!给你 a、b、p,求 a 的 b 次方除以 p 的余数。b 可能很大,普通乘法会超时——快速幂上场!
输入三个正整数 a、b、p(1 ≤ a,b ≤ 10^9,2 ≤ p ≤ 10^9,空格隔开),输出 a^b mod p。 输入样例: 2 10 1000000007 输出样例: 1024
快速幂 + 边乘边取模:O(log b) 次乘法,再大的指数也不怕。注意先 a %= p,防止 a 本身就很大。