Cod sursa(job #1361452)

Utilizator alexandru94hahahalera alexandru94 Data 25 februarie 2015 21:17:58
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.34 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
	int mod = 1999999973;
	int N, P, i;

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

	in >> N >> P;
	int sol = 1, n = N % mod;
	for(i = 0; i < 32; ++i)
	{
		if((1<<i) & P) {
			sol = (sol * n) % mod; 
		}
		n = (n * n) % mod;
	}
	cout<<sol<<"\n";
	out<<sol<<"\n";
}