详细解析:http://t.csdnimg.cn/yvkLb
给定 a,b,p ,对于每组数据,求出 a^b mod p的值。
输入格式
输入 a,b,p
输出格式
对于每组数据,输出一个结果,表示 a^b mod p 的值。
每个结果占一行。
数据范围
1≤a,b,p≤2×10^9
输入样例:
4 3 9
输出样例:
1
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int a = scanner.nextInt();
int b = scanner.nextInt();
int p = scanner.nextInt();
long result = powerMod(a, b, p);
System.out.println(result);
}
scanner.close();
}
private static long powerMod(int a, int b, int p) {
long result = 1;
while (b > 0) {
if (b % 2 == 1) {
result = (result * a) % p;
}
a = (a * a) % p;
b = b / 2;
}
return result;
}
}