Cod sursa(job #1923352)

Utilizator trifangrobertRobert Trifan trifangrobert Data 10 martie 2017 22:55:04
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>

using namespace std;

const int MOD = 1999999973;
int n, p;

int power(int n, int p)
{
	int rez = 1;
	while(p)
	{
		if (p % 2)
		{
			//rez *= n;
			rez = (1LL * rez * n) % MOD;
			p--;
		}
		n = (1LL * n * n) % MOD;
		p /= 2;
	}
	return rez;
}

int main()
{
	ifstream f("lgput.in");
	ofstream g("lgput.out");
	f >> n >> p;
	f.close();
	int x = power(n, p);
	g<<x % MOD <<"\n";
	g.close();
	return 0;
}