Cod sursa(job #158217)

Utilizator redkar23Dezactiveazama redkar23 Data 13 martie 2008 15:33:47
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.36 kb
#include <stdio.h>

long power(unsigned long x,unsigned long p){
if(p==0) return 1;
if(p%2==1) return x*power(x*x,(p-1)/2)%1999999973;
return power(x*x,p/2)%1999999973;
}

int main(){
FILE *f=fopen("lgput.in","r");
unsigned long n,p;

fscanf(f,"%ld",&n);
fscanf(f,"%ld",&p);
FILE *g=fopen("lgput.out","w");
long x=power(n,p);
fprintf(g,"%ld\n",x);
fclose(g);
return 0;
}