快速幂
来源:互联网 发布:淘宝网音乐芯片 编辑:程序博客网 时间:2024/06/01 23:18
快速幂
思想:将指数二进制展开
复杂度:log n
//quick_pow#include<iostream>#include<cstdio>using namespace std;int quick_pow(long long a,long long b){ long long ans=1,base=2; while(b!=0) { if(b&1)//从右至左二进最后一位为1则乘2^此位 ans*=base; base*=base;//提升2指数级 b>>=1;//去掉最后一位 } return ans;}int main(){int a,b;while(~scanf("%d%d",&a,&b)) cout<<quick_pow(a,b)<<endl;}
阅读全文