程序设计
1.快速幂/快速乘
相当于把指数n写成二进制和的形式
#include<bits/stdc++.h>
using namespace std;
long power(long long a,long long n,long long P)
{
//a^n%P
long long ans=1;
while(n){
if(n&1 == 1)ans=ans*a%P;
a=a*a%P;//底数累乘
n=n/2;//n>>1;
}
return ans;
}
long multiplate(long long a,long long b,long long P)
{
//(a+b)%P
long long ans=0;
while(b){
if(b&1)ans=(ans+a)%P;
b>>1;
a=a*2%P;
}
return ans;
}
int main(){
long long a,n,P;
cin>>a>>n>>P;//底数,指数,模数
long long ans=power(a,n,P);
cout<<ans;
}
祝看到这里的你生活愉快,谢谢

浙公网安备 33010602011771号