Cod sursa(job #3159227)

Utilizator BogdancxTrifan Bogdan Bogdancx Data 20 octombrie 2023 22:49:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <string>

using namespace std;

const string FILE_NAME = "lgput";
const string input = FILE_NAME + ".in";
const string output = FILE_NAME + ".out";

ifstream fin(input);
ofstream fout(output);

unsigned p(unsigned a, unsigned b, unsigned mod) {
	long long rez = 1;

	while (b>0) {
		if (b % 2 == 1) {
			rez = 1LL * rez * a % mod;
		}
		a = 1LL * a * a % mod;
		b >>= 1;
	}

	while (rez < 0) rez += mod;
	return rez;
}

int main()
{
	unsigned a, b;

	fin >> a >> b;

	fout << p(a, b, 1999999973);

	return 0;
}