Cod sursa(job #3264877)

Utilizator Andrei_DumyDumitrescu Andrei-George Andrei_Dumy Data 24 decembrie 2024 21:23:43
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.42 kb
#include<fstream>

using namespace std;


ifstream cin("Igput.in");
ofstream cout("Igput.out");

#define MOD 1999999973


int fastEXP(int& a, int b)
{
  if(b==1)
    return a%MOD;
  else if(b%2==1)
  {
    int p=fastEXP(a, (b-1)/2);
    return a*p*p;
  }
  else
  {
    int p=fastEXP(a, b/2);
    return ((long long)p%MOD*p%MOD)%MOD;
  }
}


int main()
{
  int a, b;

  cin>>a>>b;
  
  cout<<fastEXP(a, b)%MOD;

  return 0;
}