编程题

(快速幂)请完善下面的程序,该程序使用分治法求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 namespace std;


int x, p, m, i, result;


int main() {

cin >> x >> p >> m;

result =    (1)   ;

while (   (2)  ) {

if (p % 2 == 1)

result =   (3)   ;

p /= 2;

x =   (4)   ;

}

cout <<   (5)   << endl;

return 0;

}

查看答案
赣ICP备20007335号-2