Cod sursa(job #2975621)

Utilizator gabrielinelusGabriel-Robert Inelus gabrielinelus Data 6 februarie 2023 21:45:00
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.4 kb
#include <cstdio>

const long long mod = 1999999973;

long long lgPut(long long x, long long y) {
  if (y == 0)
    return 1;
  
  if (y & 1)
    return (x * lgPut(x, y ^ 1)) % mod;
  return lgPut((x * x) % mod, y >> 1); 
}

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

  long long x, y;
  scanf("%lld%lld", &x, &y);
  printf("%lld", lgPut(x, y));
  
  return 0;
}