Cod sursa(job #181698)

Utilizator katakunaCazacu Alexandru katakuna Data 18 aprilie 2008 19:31:08
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include<stdio.h>

long long n,p,mod,i;

int main(){


FILE *f=fopen("lgput.in","r");
fscanf(f,"%lld %lld",&n,&p);
fclose(f);

mod=1999999973;
long long R=1,a=n;


   for(i=0;i<=31;i++){

     if( (p>>i)&1 ){
     R*=a;
     R%=mod;
     }

   a*=a;
   a%=mod;
   }


FILE *g=fopen("lgput.out","w");
fprintf(g,"%lld",R);
fclose(f);

return 0;
}