快速幂

来源:互联网 发布:宝信软件 编辑:程序博客网 时间:2024/06/18 03:14

NEUOJ 333

快速幂模板

快速幂用递归写会超时,必须得用while循环写

#include <cstdio>typedef long long ll;const ll p=1e9+7;ll a,b,c;ll pow(ll base,ll exp,ll MOD){    ll res=1;    while(exp){        if(exp&1ll)res=res*base%MOD;        exp>>=1;        base=base*base%MOD;    }    return res;}int main(){    while(~scanf("%lld%lld%lld",&a,&b,&c)){        printf("%lld\n",pow(a,pow(b,c,p-1),p));    }}


原创粉丝点击