快速幂

•快速幂顾名思义,就是快速算某个数的多少次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。
 
代码:
#include<iostream>
using namespace std;

long long pow(int a,int b){
    long long ans=1;
    while(b>0){
        if(b&1)ans*=a;
        a*=a;
        b>>=1;
    }
    return ans;
}
int main(){
    int a,b;
    while(true){
        cin>>a;
        if(a==0)break;
        cin>>b;
        cout<<pow(a,b)<<endl;
    }
}

 

 
posted @ 2016-07-10 09:38  FuTaimeng  阅读(116)  评论(0编辑  收藏  举报