文章
34
粉丝
89
获赞
2
访问
18.5k
#include<bits/stdc++.h>
using namespace std;
long long x,n;
const int N = 233333;
long long pow(long long n){
long long ans = 1;
long long temp = x;
while(n != 0){
if((n & 1) == 1){//n的二进制最低位是1 也即n为奇数
ans = ((ans % N) * (temp % N)) % N;//简化为 (ans * temp) % N 也可
}
temp = (temp % N) * (temp % N);//注意溢出 可简化为(temp * temp) % N;
n = n >> 1;
}
return ans;
}
int main(){
cin >> x >> n;
cout << pow(n) << endl;
}
登录后发布评论
暂无评论,来抢沙发