快速幂(反复平方法)

#include<stdio.h>
#define MOD 1000000007
typedef long long ll;

ll qsortMod(ll a,ll b)
{
    ll ans=1;
    a%=MOD;
    while(b){
        if(b&1) ans=ans*a%MOD;
        b>>=1;
        a=a*a%MOD;
    }
    return ans;
}
int main()
{
    ll a,b;
    while(scanf("%lld%lld",&a,&b)&&!(a==0&&b==0)){
        printf("%lld\n",qsortMod(a,b));
    }
    return 0;
}

 

posted @ 2017-06-14 21:03  yzm10  阅读(328)  评论(0编辑  收藏  举报