Cod sursa(job #2263697)

Utilizator SqueekDanielTodasca Daniel SqueekDaniel Data 19 octombrie 2018 01:36:45
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <bits/stdc++.h>

#define MaxN 2000005
#define MOD  1999999973
#define ll   long long

std::ifstream InFile("lgput.in");
std::ofstream OutFile("lgput.out");

ll Baza, Exp;

ll Pow(ll Baza, ll Exp) {
	ll Rez = 1;
	Baza %= MOD;

    while(Exp) {
        if (Exp&1)
            Rez *= Baza,
            Rez %= MOD;
        Baza *= Baza;
        Baza %= MOD;

        Exp >>= 1;
    }   return Rez;
}


int main () {
	InFile >> Baza >> Exp;
    OutFile << Pow(Baza, Exp) << '\n';

    return 0;
}