Cod sursa(job #322355)

Utilizator SliMMStefan Saftescu SliMM Data 8 iunie 2009 17:46:08
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
/*
 * lgput.cpp
 *
 *  Created on: Jun 8, 2009
 *      Author: stefan
 */

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
	freopen("lgput.in", "r", stdin);
	freopen("lgput.out", "w", stdout);
	unsigned long long int N, P, rezultat = 1;

	cin >> N >> P;
	while(P)
	{
		if(P & 1)
			rezultat = (rezultat * N) % 1999999973;
		P >>= 1;
		N = (N*N) % 1999999973;
	}
	cout << rezultat;

	return 0;
}