AcWing 89. a^b
宋标 Lv5

题目

次方对 取模的值。

输入格式

三个整数 ,在同一行用空格隔开。

输出格式

输出一个整数,表示a^b mod p的值。

数据范围


输入样例:

3 2 7

输出样例:

2

题解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>

int a, b, p;

int main()
{
std::cin >> a >> b >> p;

int res = 1 % p; // 预处理b是0

while (b)
{
if (b & 1) res = res * 1ll * a % p;
a = a * 1ll * a % p;
b >>= 1;
}

std::cout << res << std::endl;

return 0;
}
 评论