1046 A^B Mod C (快速幂)

给出3个正整数A B C,求A^B Mod C。
例如,3 5 8,3^5 Mod 8 = 3。
Input
3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)
Output
输出计算结果
Input示例
3 5 8
Output示例
3

#include <iostream>  
#define ll long long
using namespace std;  
ll qpow(ll a, ll b, ll m) {  
	ll ans=1;  
	ll k=a;  
	while(b){  
		if(b&1) {
			ans=ans*k%m;  
		}
		k = k*k%m;  
		b >>= 1;  
	}  
	return ans;  
}  
int main() {  
	ll a, b, c;  
	cin>>a>>b>>c; 
	a %= c;  
	cout<<qpow(a, b, c)<<endl;
	return 0;  
}  


猜你喜欢

转载自blog.csdn.net/adusts/article/details/80709629
今日推荐