Cod sursa(job #1261257)

Utilizator irinaneaguIrina Neagu irinaneagu Data 12 noiembrie 2014 08:09:13
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<cstdio>
const int N=1999999973;
long long ridlaputlog(int n,int p){
    if(p==1)
        return n%N;
    else
    if(p%2==1)
        return (n*ridlaputlog(n*n,p/2))%N;
    else
        return (ridlaputlog(n*n,p/2))%N;
    }
int main(){
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    int n,p;
    long long rez;
    scanf("%d%d",&n,&p);
    rez=ridlaputlog(n,p)%N;
    printf("%lld",rez);
    return 0;
    }