#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn=1000006;
inline LL Pow(LL a,LL n,LL mod)//快速幂
{
LL ans=1;
LL tmp=a%mod;
while(n){
if(n&1){
ans=ans*tmp;
ans%=mod;
}
tmp*=tmp;
tmp%=mod;
n/=2;
}
return ans;
}
inline LL ksc(LL x,LL y,LL p){//计算x乘y的积,快速乘
LL res=0;//加法初始化
while(y){
if(y&1)res=(res+x)%p;//模仿二进制
x=(x<<1)%p; y>>=1;//将x不断乘2达到二进制
}return res;
}
// ll 表示 long long
int main()
{
//printf("%lld\n",ksc(3,4,10));
return 0;
}
快速幂+快速乘 模板
于 2020-02-05 23:32:10 首次发布