Cod sursa(job #255697)

Utilizator BuRNB Radu BuRN Data 10 februarie 2009 12:12:34
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.27 kb
#include <fstream.h>

int main()
{
ifstream in("lgput.in");
ofstream out("lgput.out");

unsigned long rez=1,n,p,m=1999999973;
in>>n>>p;
while(p!=0)
{
	if(p%2==1)
	{
		rez=(rez*n)%m;
		p--;
	}
	else
	{
		n=(n*n)%m;
		p=p/2;
	}
}
out<<rez;
return 0;
}