#include<bits/stdc++.h>
using namespace std;
#define ll long long
long long quickpow1(long long a, long long b,long long p) {
long long ret = 1;
while (b) {
if (b & 1) {
ret = ret * a%p;
}
a = a*a%p;
b >>=1;
}
return ret;
}
int main()
{
ll q;
cin>>q;
while(q--)
{
ll a,b,p;
cin>>a>>b>>p;
cout<<quickpow1(a,b,p)<<endl;
}
return 0;
}
快速幂算人人都必须要会的东西了
非常的好用,他的思想和套路都是!
基本思路:
就这样,我们就可以用快速幂的递归思想,去快速计算b^p%k的值。去避免高精度。
- 1 如果y=0
- 2.xx^(y-1) 如果y为奇数
- 3.(x^2)^(y div 2) 如果y为偶数
就这样,我们就可以用快速幂的递归思想,去快速计算b^p%k的值。去避免高精度。

京公网安备 11010502036488号