Cod sursa(job #234578)

Utilizator stefynr8Space Monkey stefynr8 Data 21 decembrie 2008 11:12:57
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>

FILE *f,*g;


long long x,n;

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

int main()
{

 long long r,p;
 f=fopen("lgput","r");
 g=fopen("lgput","w");

 fscanf(f,"%lld",&n);
 fscanf(f,"%lld",&p);

 r=putere(n,p)%1999999973;

 fprintf(g,"%lld",r);

 fclose(f);
 fclose(g);

 return 0;

}