Cod sursa(job #2744955)

Utilizator mafiotxrobeert mafiotx Data 25 aprilie 2021 16:33:37
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream> 
#include <fstream>
#include <iomanip>
#include <cmath>
#include <algorithm> 
#include <cstring>

using namespace std;

string NumeFisier = "lgput";

ifstream fin(NumeFisier + ".in");
ofstream fout(NumeFisier + ".out");

typedef unsigned long long int ull;

long long MOD = 1999999973;

long long fastexpo(long long  baza, long long exp)
{
	long long rez = 1;
	baza = baza % MOD;
	if (baza == 0)
		return 0;
	while (exp > 0)
	{
		if (exp % 2 == 1)
			rez = (rez * baza) % MOD;
		baza = (baza * baza) % MOD;
		exp /= 2;
	}
	return rez;
}


int main()
{
	long long baza, exp;
	fin >> baza >> exp;
	fout << fastexpo(baza, exp);
}