编程题

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

using namespace std;


int x, p, m, i, result;


int main() {

\tcin >> x >> p >> m;

\tresult = (1) ;

\twhile ( (2) ) {

\t\tif (p % 2 == 1)

\t\t\tresult = (3) ;

\t\tp /= 2;

\t\tx = (4) ;

\t}

\tcout << (5) << endl;

\treturn 0;

}

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论