Cod sursa(job #1015150)

Utilizator gabriel.badeaGabriel Badea gabriel.badea Data 23 octombrie 2013 22:35:59
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<iostream>
using namespace std;

#define MOD 1999999973

int main()
{
	long long n, exp;

	freopen("lgput.in", "r", stdin);
	freopen("lgput.out", "w", stdout);

	cin >> n >> exp;
	
	long long p = 1;

	while(exp)
	{
		if(exp % 2 == 1)
		{
			p *= n;
			p %= MOD;
			exp--;
		}
		else
		{
			n *= n;
			n %= MOD;
			exp /= 2;
		}
	}

	cout << p << "\n";

	return 0;
}