Cod sursa(job #251457)

Utilizator IsTeeSzasz Istvan IsTee Data 2 februarie 2009 18:26:38
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include<fstream.h>

unsigned long  n;
const a=1999999973;

unsigned long hatvany(unsigned long x){
	unsigned long s;
	if(x==1)
		return n;
	else
		s=hatvany(x/2)%a;
		if(x%2==0)
		       return (s*s)%a;
		else
			return (((s*n)%a)*(s%a)))%a; }

int main(void) {
	ifstream f("lgput.in");
	ofstream g("lgput.out");
	unsigned long p;
	f>>n>>p;
	g<<hatvany(p)%a;
	return 0;  }