Cod sursa(job #2239225)

Utilizator NewGloryMihnea Andreescu NewGlory Data 10 septembrie 2018 10:25:15
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdio>

using namespace std;

const int MOD = 1999999973;

inline int mul (int a, int b) {
  return a * (long long) b % MOD;
}

inline int power (int a, int b) {
  int ans = 1;
  while (b) {
    if (b & 1) {
      ans = mul (ans, a);
    }
    a = mul (a, a);
    b >>= 1;
  }
  return ans;
}

int main () {
  freopen ("lgput.in", "r", stdin);
  freopen ("lgput.out", "w", stdout);
  int a, b;
  scanf("%d %d", &a, &b);
  printf("%d\n", power (a, b));
  return 0;
}