Cod sursa(job #477213)

Utilizator claudiumihailClaudiu Mihail claudiumihail Data 13 august 2010 20:25:31
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<fstream>
#include<iostream>
using namespace std;

const unsigned long X=1999999973;

int main()
{
	unsigned int P;
	unsigned long long rez=1,N;
	fstream fin("lgput.in",fstream::in);
	fstream fout("lgput.out",fstream::out);
	fin>>N>>P;
	fin.close();
	for(unsigned long i=0; (1<<i) <= P; ++i)
	{
		cout<<(1<<i)<<endl;
		if( (1<<i) & P)
			rez=(rez*N)%X;
		N=(N*N)%X;
	}
	fout<<rez<<endl;
	fout.close();
	return 0;
}