Cod sursa(job #801408)

Utilizator razvan9310FMI - Razvan Damachi razvan9310 Data 24 octombrie 2012 11:04:04
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <iostream>
#include <fstream>
using namespace std;

#define mod 1999999973

int logpow(int n, int p)
{
	if (!p) return 1;
	long long k;
	if (p%2 == 0)
	{
		k = logpow(n,p/2);
		return (k*k)%mod;
	}
	k = logpow(n,(p-1)/2);
	return (n*k*k)%mod;
}

int main()
{
	int n, p;
	ifstream in("lgput.in"); ofstream out("lgput.out");
	in>>n>>p;
	out<<logpow(n,p);
}