题解 | #快速幂#

快速幂

https://www.nowcoder.com/practice/defdedf4fe984c6c91eefa6b00d5f4f0

#include <iostream>
using namespace std;

#define ll long long
ll add(ll&,ll&,ll&);
int main() {
    int q;
    cin>>q;
    ll a, b, p;
    while (q--) { // 注意 while 处理多个 case
        scanf("%lld%lld%lld",&a,&b,&p);
        ll res=add(a,b,p);
        printf("%lld\n",res);
    }
}
ll add(ll&a,ll&b,ll&q){
    ll res=1;
    while(b){
        if(b&1){
            res=res*a%q;
        }
        a=a*a%q;
        b=b>>1;
    }
    return res;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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