Cod sursa(job #2522304)

Utilizator gabrielinelusGabriel-Robert Inelus gabrielinelus Data 12 ianuarie 2020 12:08:15
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.41 kb
#include <cstdio>

using namespace std;

long long mod = 1999999973;

long long lgput(long long x, long long n) {
  if (n == 0)
    return 1;
  if (n % 2 == 0)
    return lgput((x * x) % mod, n / 2);
  return (x * lgput(x, n - 1)) % mod;
}

int main()
{
  freopen("lgput.in", "r", stdin);
  freopen("lgput.out", "w", stdout);

  long long x, n;
  scanf("%lld%lld", &x, &n);
  printf("%lld\n", lgput(x, n));
  
  return 0;
}