Cod sursa(job #234567)

Utilizator andumMorie Daniel Alexandru andum Data 21 decembrie 2008 10:58:25
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 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(x,n-1);
   else
    if (n%2==0) {
		 p=putere(x,n/2);
		 return p*p;
		}
 }

int main()
{

 f=fopen("lgput.in","r");
 g=fopen("lgput.out","w");

 fscanf(f,"%lld %ldd", &x, &n);
 fprintf(g,"%lld", putere(x,n)%1999999973);

 fclose(f);
 fclose(g);
 return 0;
}