Cod sursa(job #191801)

Utilizator h_istvanHevele Istvan h_istvan Data 28 mai 2008 16:46:20
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <stdio.h> 
long MOD=1999999973;
long n,p;

long put(long p)
{
     if(p==1) return n;
     long pp = put(p/2);
     //printf("Hatvany:%ld Ertek:%ld\n",p/2,pp);
     if(p%2) return (pp*pp*n) % MOD;
     return (pp*pp) % MOD;
}

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%ld %ld",&n,&p);
    printf("%ld\n",put(p));
    return 0;
}