Cod sursa(job #146647)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 1 martie 2008 22:50:50
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream.h>
#define MAX 1999999973

long long a,b;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");

long long rec(long long i)
{
  if (i==1)
     return a%MAX;
   if (i%2==0)
   {
      long long aux=rec(i/2)%MAX;
      return aux*rec(i/2)%MAX;
   }
   else
      return a*rec(i/2)%MAX;
}

int main ()
{
   fin>>a>>b;
   fout<<rec(b)<<"\n";
   fin.close();
   fout.close();
   return 0;
}