题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
import java.util.Scanner;
class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt(), b = sc.nextInt(), p = sc.nextInt();
System.out.print(helper(a, b, p));
}
public static int helper(long a, long b, long p) { // 需要注意的地方必须变成long (我想了方法解决不转化成long)
//但是没找到尝试比如a = a * a % p 写成a = (a % p) * (a % p) % p 但是如果p比如10 ^9 很大 a是10^6不够大 a% p无用然后 会overflow
long prod = 1;
while (b != 0) {
if ((b & 1) != 0) prod = prod * a % p;
b >>= 1;
a = a * a % p;
}
return (int)(prod % p);
}
}