题解 | 好多次方

好多次方

https://www.nowcoder.com/practice/8bf1186260634b209b5cff362da45305

#include <iostream>
using namespace std;

const int M=1e9+7;

long long power(long long base, long long exp, long long mod){
    long long res = 1;
    base %= mod;
    while (exp){
        if(exp%2) res=(res*base)%mod;
        base=(base*base)%mod;
        exp>>=1;
    }
    return res;
}

int main(){
    int T;
    long long a, b, c;
    cin>>T;
    while(T--){
        cin>>a>>b>>c;
        long long exp=power(b, c, M-1);
        if (exp==0) exp=M-1;
        cout<<power(a, exp, M)<<endl;
    }
    return 0;
}

全部评论

相关推荐

02-26 09:15
已编辑
蚌埠学院 golang
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务