Cod sursa(job #2230988)

Utilizator ApostolIlieDanielApostol Daniel ApostolIlieDaniel Data 12 august 2018 16:24:00
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <bits/stdc++.h>

using namespace std;

const int MOD = 1999999973;

FILE *fin = fopen ("lgput.in", "r"), *fout = fopen ("lgput.out", "w");

int lgput (int a, int b) {
  if (b == 0)
    return 1;
  if (b == 1)
    return a;
  return ((1LL * lgput (a, b / 2) * lgput (a, b / 2)) % MOD * lgput (a, b % 2)) % MOD;

}

int main()
{
  int a, b;
  fscanf (fin, "%d%d", &a, &b);
  fprintf (fout, "%d", lgput (a, b));
  return 0;
}