文章

43

粉丝

24

获赞

293

访问

6.5k

头像
幂次方 题解:我是范小勤,我不会
P1017 贵州大学机试题
发布于2025年2月16日 10:53
阅读数 243

#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){//&将其左右的数都转换为二进制进行处理 ,5 & 1 → 101 & 001 = 001 → 1 
            ans = ((ans % N) * (temp % N)) %  N;//temp为答案的部分因子,而非底数的幂,故而temp每次需自我平方:3^4=(3^2 )^2
        }
        temp = (temp % N) * (temp % N);//遇到乘法无脑取余就行  
        n = n >> 1;// n/=2; 
    }
    return ans;
}
int main(){
        cin >> x >> n;
        cout << pow(n)%N << endl;//最后结果无脑取余 
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发