Cod sursa(job #148485)

Utilizator perticas_catalinperticas catalin perticas_catalin Data 4 martie 2008 13:33:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<stdio.h>
FILE*fin=fopen("lgput.in","r");
FILE*fout=fopen("lgput.out","w");
#define var 1999999973
long long rip(long long a,long long putere)
{
  if(putere==0) return 1;
  else
  {
	 long long local=rip(a,putere/2);
	 if(putere%2) return (local%var*local%var*a)%var;
	 else return (local%var*local%var)%var;

  }
}
int main()
{
  long long n,p;
  fscanf(fin,"%lld%lld",&n,&p);
  fclose(fin);
  fprintf(fout,"%lld",rip(n,p));
  fclose(fout);
  return 0;
}