快速幂模版
快速幂的思想是分治,根据题目的数据要注意long long
快速幂普通版,比取余版快,但容易超范围,慎用,一般可用取余版MOD设为INF:
//快速幂普通版(未取余) long long quickpow(long long n,long long k) { long long res=1; while(k){ if(k&1) res*=n; n*=n; k=k>>1; //即k/=2,采用位运算更快 } return res; }
快速幂普通版(未取余)
快速幂取余数版:
//快速幂取余版 long long quickpow(long long n,long long k,long long MOD) { long long res=1; while(k){ if(k&1) res=(res*n)%MOD; n=(n*n)%MOD; k=k>>1; } return res; }
快速幂取余版
时间: 2024-12-12 23:13:58