标签:实现 code quic 二进制 sig 拆分 long c++ 快速幂
快速幂:
例:a^11=a^(2^0)*a^(2^1)*a^(2^3)
11的二进制是1011,有1为第一位,第二位,第四位,它们的权分别为0,1,3。所以可以把11拆分为2^0+2^1+2^3。
利用这个思想实现快速幂函数(c++) ULL代表unsigned long long
ULL quickpow(ULL a,ULL b){ ULL res=1; for(;b;b>>=1){ if(b&1) res*=a; a*=a; } return res; }
标签:实现 code quic 二进制 sig 拆分 long c++ 快速幂
原文地址:https://www.cnblogs.com/FrankYu-/p/11703211.html