Cod sursa(job #181696)

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

long int n,p,mod,i;

int main(){


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

mod=1999999973;
long int 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,"%ld",R);
fclose(f);

return 0;
}