Cod sursa(job #3264875)

Utilizator Andrei_DumyDumitrescu Andrei-George Andrei_Dumy Data 24 decembrie 2024 21:21: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)
    return ((long long)a%MOD * fastEXP(a, b-1)%MOD)%MOD;
  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;
}