NOIP 2017普及组初赛试题完善程序:快速幂。
快速幂:请完善下面的程序,该程序使用分治法求 xp mod m 的值。(第一空2分,其余3分)
输入:三个不超过 10000 的正整数 x,p,m。
输出:xp mod m的值。
提示:若 p 为偶数,xp=(x2)p/2;若 p 为奇数,xp=x*(x2)(p-1)/2。
#include<iostream>
using namespacestd;
int x, p, m, i,result;
int main() {
cin >> x >> p >> m;
result = ____ ;
while (____) {
if (p % 2 == 1)
result=____;
p /= 2;
x= ____;
}
cout <<____<< endl;
return 0;
}