Cod sursa(job #1590058)

Utilizator andrei_diaconuAndrei Diaconu andrei_diaconu Data 4 februarie 2016 17:58:45
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream>

#define MOD 1999999973

using namespace std;

ifstream f("lgput.in");
ofstream g("lgput.out");

long long base;
int expn;

int powr(long long base, int expn)
{
	long long res = 1;
	while (expn > 0) {
		if (expn % 2 != 0)
			res = (res*base) % MOD;
		
		base = (base*base) % MOD;
		expn /= 2;
	}

	return res % MOD;
}

int main()
{
	f >> base >> expn;
	g << powr(base, expn);
}