Cod sursa(job #1167068)

Utilizator mihail.jianuJianu Mihail mihail.jianu Data 4 aprilie 2014 12:17:59
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<cstdio>
const long long MOD=1999999973;
long long a,b;
long long raise(){
    int nr;
    if(b==0)
        return 1;
    if(b%2==0){
        b/=2;
        nr=raise()%MOD;
        return (nr*nr)%MOD;
    }
    b--;
    return ((raise()%MOD)*(a%MOD))%MOD;
}
void init(){
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%lld%lld",&a,&b);
}
int main(){
    init();
    printf("%lld",raise());
    return 0;
}