#136. 数论【NOIP2017】快速幂
数论【NOIP2017】快速幂
2. 【NOIP2017】快速幂
使用分治法求 的值。输入三个不超过10000的正整数 ,输出 的值。
补全程序:
#include<iostream>
using namespace std;
int x, p, m, 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==1
- x
- p/2!=0
- p>0
- ③处应填( )
{{ 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