快速幂
快速幂模板
#include<iostream>
#include<cstdio>
#define MOD 100007
#define ll long long
using namespace std;
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
ll m,n;
ll ksm(ll a,ll b){
if(b==0) return 1;
ll t=ksm(a,b/2);
ll tmp=t*t%MOD;
if(b%2==1){
return tmp*a%MOD;
} else {
return tmp%MOD;
}
}
ll ksm2(ll a,ll b){
ll ret=1;
while(b){
if(b%2==1) ret=ret*a%MOD;
a=a*a%MOD;
b=b/2;
}
}
int main(){
cin>>n>>m;
return 0;
}
方法一:递归
\(a^b=(a^{b/2})^2*(a或者1)\)
方法二:循环
\(a^b=(a^2)^{b/2}*(a或者1)\)
ICtiger's Blog
求关注
$e^{ix}=cosx+isinx$