快速冪運算的簡單程式碼
阿新 • • 發佈:2019-01-23
快速冪求a的b次方
int pow(int a,int b)
{
int ans=1,base=a;
while(b!=0)
{
if(b&1!=0)
ans*=base;
base*=base;
b>>=1;
}
return ans;
}
快速冪求A^B Mod C。
#include<iostream> using namespace std; int main() { long long a,b,c; long long aes=1; cin>>a>>b>>c; while(b!=0) { if(b%2==1) aes=((aes%c)*(a%c))%c; a=((a%c)*(a%c))%c; b/=2; } cout<<aes<<endl; return 0; }