Cod sursa(job #2627884)

Utilizator abcabc123abc abc abcabc123 Data 13 iunie 2020 10:17:35
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>

using namespace std;

ifstream fin ("lgput.in");
ofstream fout ("lgput.out");

unsigned int nr, p;
int mod = 1999999973;

unsigned int lgput (unsigned int a, unsigned int b) {
  unsigned int r = 1;
  while (b > 0) {
    if (b % 2 == 1)
      r = (r % mod) * (a % mod);
    a = (a % mod) * (a % mod);
    b /= 2;
  }
  return r % mod;
}

int main()
{
  fin >> nr >> p;
  fout << lgput (nr, p);
  return 0;
}