Cod sursa(job #1344980)

Utilizator stanciuandreiStanciulescu Andrei stanciuandrei Data 17 februarie 2015 09:59:19
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <iostream>
#include <fstream>
#define mod 1999999973
using namespace std;
long power(int n, int p)
{
	if (p == 0)
		return 1;
	if (p == 1)
		return n;
	if (p % 2 == 0)
		return power(n*n, p / 2);
	if (p % 2 == 1)
		return power(n*n, (p - 1) / 2);
}
int main()
{
	int n, p;
	ifstream in("lgput.in");
	in >> n >> p;
	in.close();
	ofstream out("lgput.out");
	out << power(n, p)% mod;
	out.close();
	return 0;
}