Cod sursa(job #2673332)

Utilizator teofilotopeniTeofil teofilotopeni Data 16 noiembrie 2020 16:17:42
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>
using namespace std;

//  Sandro's Biography

long long Putere(long long n, long long i) {
    if (i == 1)
        return n;
    if (i % 2)
        return n * Putere(n * n % 1999999973, i / 2);
    else
        return Putere(n * n % 1999999973, i / 2);
}

int main() {
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	long long n, m;
	scanf("%d %d", &n, &m);
	int sol = Putere(n, m);
	printf("%lld\n", sol % 1999999973); // Afisam solutia
}