文章

19

粉丝

0

获赞

147

访问

3.6k

头像
幂次方 题解:数据类型统一longlong
P1017 贵州大学机试题
发布于2025年3月15日 13:42
阅读数 224

虽然输入的x,n都是int范围内,但二分快速幂运算过程中a = (a*a)%233333;会导致a超出int范围,数据类型统一ll就不会有问题。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll binaryPow(ll a,ll b){
    ll ans = 1;
    while(b > 0){
        if(b&1)
        ans = (ans*a)%233333;
        b >>= 1;
        a = (a*a)%233333;
    }
    return ans;
}
int main(){
    ll x,n;
    cin >> x >> n;
    cout << binaryPow(x,n);
    return 0;
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发