快速冪的寫法

有夢的小松發表於2020-10-15

直接放上了,自己看

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a,b,c;
ll qq(ll m,ll n,ll p)
{
	int rec=1;
	while(n)
	{
		if(n&1)
		{
			rec=(rec*m)%p;
		}
		n>>=1;
		m=(m*m)%p;
	}
	return rec%p;
}
int main()
{
	cin>>a>>b>>c;
	ll sum=qq(a,b,c);
	//cout<<a<<"^"<<b<<' '<<"mod"<<' '<<c<<"="<<sum<<endl;
	printf("%lld^%lld mod %lld=%lld",a,b,c,sum);
	return 0;
}

相關文章