#3817. 模下的快速幂

模下的快速幂

题目描述:

给定一个整数 x、一个非负整数 n 和一个正整数 m,你需要计算 (xn)%m(x^n)\% m。由于 nm 可能很大,要求使用倍增法(快速幂)来实现计算。请实现一个函数 powerMod(x, n, m) 来完成此任务,并在主函数中测试你的实现。

要求:

使用倍增法实现快速幂算法。计算 (xn)%m(x^n) \% m。 函数应具有 O(logn)O(\log n) 的时间复杂度。函数返回计算结果。

输入:

一个整数 x 109x109-10^9 \leq x \leq 10^9。 一个非负整数 n0n1090 \leq n \leq 10^9。 一个正整数 m1m1091 \leq m \leq 10^9

输出:

计算 (xn)%m(x^n) \% m 的结果。

输入样例:

3 13 7

输出样例:

3