Cod sursa(job #2831665)

Utilizator Chris.sCristian Chris.s Data 11 ianuarie 2022 20:58:01
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int MOD = 1999999973;

int ridicare_putere(int a, int b);

int main()
{
      int a, b;
      fin >> a >> b;
      fout << ridicare_putere(a, b);
      return 0;
}


int ridicare_putere(int a, int b)
{
      int r = 1;
      while(b)
      {
            if(b % 2 == 1)
                  r = (r * a) % MOD;
            a = (a * a) % MOD;
            b = (b / 2) % MOD;
      }

      return r;
}