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; }