Cod sursa(job #903120)

Utilizator mihail.jianuJianu Mihail mihail.jianu Data 1 martie 2013 18:36:57
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<cstdio>
#define ll long long
const int mod=1999999973;
ll put(int x,int n){
    ll nr;
    if(n==0)
        return 1;
    if(n%2==0){
        nr=put(x,n/2)%mod;
        nr*=nr%mod;
    }
    else
        nr=(put(x,n-1)*x)%mod;
    return nr;
}
int main(){
    int n,p;
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%d%d",&n,&p);
    printf("%I64d",put(n,p));
    return 0;
}