编程题
(快速幂)请完善下面的程序,该程序使用分治法求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;
}
发表评论 取消回复