文章

34

粉丝

89

获赞

3

访问

20.5k

头像
幂次方 题解:运用二分快速幂思想和同余模定理即可。
P1017 贵州大学机试题
发布于2024年3月24日 21:35
阅读数 654

#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;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发