#3818. 快速幂
快速幂
题目描述
给定一个整数 、一个非负整数 ,以及一个正整数 ,请你计算:
由于 的取值可能非常大,要求使用**倍增法(快速幂)**实现计算,使算法时间复杂度达到 。
请你实现一个函数 power(x, n, m) 完成上述运算,并在主函数中调用该函数进行测试。
输入格式
输入包含三个整数:
- ,满足
- ,满足
- ,满足
输出格式
输出一个整数,即:
输入样例
2 10 1000
输出样例
24
(因为 ,)
给定一个整数 x、一个非负整数 n,以及一个正整数 m,请你计算:
xnmodm
由于 n 的取值可能非常大,要求使用**倍增法(快速幂)**实现计算,使算法时间复杂度达到 O(logn)。
请你实现一个函数 power(x, n, m) 完成上述运算,并在主函数中调用该函数进行测试。
输入包含三个整数:
输出一个整数,即:
(xn)modm
2 10 1000
24
(因为 210=1024,1024mod1000=24)