Cod sursa(job #146840)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 2 martie 2008 11:43:06
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <stdio.h>

unsigned long n,p;

long power(long long base,long p,long mod){
     long rez=1;
     while (p>0){
           if ((long)(p&1)==1)rez=(rez*base)%mod;
           base=(base*base)%mod;
           p>>=1;
     }
return rez;
}

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

return 0;
}