Cod sursa(job #1957881)

Utilizator CodrinsahCotarlan Codrin Codrinsah Data 7 aprilie 2017 20:31:16
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
#define prim 1999999973
using namespace std;
ifstream fi ("lgput.in");
ofstream fo ("lgput.out");
long long putere (long long baza,long long expo)
{
  long long rez=1;
  baza=baza%prim;
  if (expo==1) return baza;
  if (expo%2==1)
  {
    rez=rez*baza;
    expo--;
    rez=rez*putere(baza*baza,expo/2);
  }
  else
    rez=putere(baza*baza,expo/2);
  return rez;
}
long long a,b;
int main()
{
    fi>>a>>b;
    fo<<putere(a,b);
    return 0;
}