Cod sursa(job #1314631)

Utilizator alexandrionUNIBUC Marcu Alexandru alexandrion Data 12 ianuarie 2015 02:39:26
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.4 kb
#include <stdio.h>
#include <stdlib.h>
#define nr 1999999973
FILE *f,*g;
long long putere (int a , int p)
{ if(p==0)
return 0;

if(p==1)
return a;

if(a%2)
 return putere(a,p/2+1)*putere(a,p/2)%nr;
 return putere(a,p/2)*putere(a,p/2)%nr;
}
int main()
{ f=fopen("lgput.in","r");
g=fopen("lgput.out","w");
int n , p ;
fscanf(f,"%d %d",&n,&p);
fprintf(g,"%lld",putere(n,p)%nr);
return 0;

}