187版本
2025-08-04 14:11:50
发布于:河北
2阅读
0回复
0点赞
#include <iostream>
#include <cassert>
using namespace std;
typedef long long ll;
ll a, b, p;
ll quick_power(ll a,ll b){ //计算a的b次方
if(b == 0) return 1;
ll ans = quick_power(a,b/2); //先计算a的(b / 2)次方
ans = ans * ans % p;
if(b % 2 == 1){ //如果 b 是奇数,则 a ^ b = (a ^ (b / 2)) * (a ^ (b / 2)) * a
return ans*a % p;
}
return ans;
}
int main() {
cin >> a >> b >> p;
cout << a << "^" << b << " mod " << p << "=" <<quick_power(a,b);
return 0;
}
这里空空如也
有帮助,赞一个