Cod sursa(job #819974)

Utilizator radupetriselPetrisel Radu radupetrisel Data 19 noiembrie 2012 21:31:25
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>
using namespace std;

long long lgput (long long n, long long p){
	
	long long m=1999999973;
	
	if (p==0) return 1;
	if (p==1) return n%m;
	if (p%2==0){
		long long res=(lgput(n, p/2));
		return (res*res)%m;
	}
	return (lgput (n, p-1)*n)%m;
}

int main (){
	
	ifstream f("lgput.in");
	ofstream g("lgput.out");
	
	long long p, n;
	f>>n>>p;
	
	g<<lgput (n, p);
	
	return 0;
}