模板 快速幂与取余
作者:
lrx2020
,
2023-02-01 08:12:37
,
所有人可见
,
阅读 232
模板 快速幂与取余
快速幂
#include <iostream>
#define int long long
using namespace std;
int quickpow(int a,int b){
int ans = 1;
int base = a;
while(b>0){
if(b&1) ans *= base;
base *= base;
b >>= 1;
}
return ans;
}
signed main(){
int a,b;
cin >> a >> b;
cout << quickpow(a,b) << endl;
return 0;
}
取余模板
#include <iostream>
using namespace std;
long long quickpow(long long a,long long b,long long c){
long long ans = 1;
long long base = a;
while(b>0){
if(b&1) {
ans *= base;
ans %= c;
}
base *= base;
base %= c;
b >>= 1;
}
return ans;
}
int main(){
long long a,b,c;
cin >> a >> b >> c;
cout << quickpow(a,b,c) << endl;
return 0;
}