码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 2035 快速幂

时间:2016-04-17 11:39:59      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

传送门

技术分享
#include<iostream>
#include<algorithm>
#include<math.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<stack>
#include<queue>
#define forp(i,n) for(int i=1;i<=n;i++)
#define ptf(i) printf("%d\n",i)
#define scf(i) scanf("%d",&i)
const int MOD = 1000;
typedef long long LL;
void init(){

}

LL pow_mod(LL a, LL b, LL mod){
    //a^b%mod
    LL ans=1;
    a=a%MOD;
    while(b){
        if(b&1)
            ans=ans*a%MOD;
        a=a*a%MOD;
        b>>=1;
    }
    return ans;
}

int main(){
    init();
    LL a, b;
    while(~scanf("%I64d%I64d",&a,&b)){
        if(a==0&&b==0)
            break;
        printf("%I64d\n",pow_mod(a,b,MOD));
    }

    return 0;
}
View Code

裸的快速幂的题

简化后的快速幂模板

LL pow_mod(LL a, LL b){
    //a^b%MOD
    LL ans=1;
    a=a%MOD; //预处理
    while(b){
        if(b&1)
            ans=ans*a%MOD;
        a=a*a%MOD;
        b>>=1;
    }
    return ans;
}

 

hdu 2035 快速幂

标签:

原文地址:http://www.cnblogs.com/blueprintf/p/5400383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!