#CS51002. 完善程序10-数论-2快速幂
完善程序10-数论-2快速幂
快速幂
请完善下面的程序,该程序使用分治法求 的值。(第一空 2 分,其余 3 分)
输入:三个不超过 10000 的正整数。
输出:m的值。
提示:若 为偶数,;若 为奇数,。
#include<iostream>
using namespace std;
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;
}
- ①处应填( ){{ select(1) }}
- 0
- 1
- p/2
- p-1/2
- ②处应填( ){{ select(2) }}
- p
- x
- p/2!=0
- A&C
- ③处应填( ){{ select(3) }}
- result%m
- x%m
- result*x%m
- result* result
- ④处应填( ){{ select(4) }}
- x*x
- x*x %m
- x %m
- x*x % result
- ⑤处应填( ){{ select(5) }}
- x
- m
- p
- result