Cod sursa(job #558193)

Utilizator MonicaVizitiuMonica Vizitiu MonicaVizitiu Data 17 martie 2011 09:44:15
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include<fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int n, p, modulo;
int main()
{
	int rez=1, putere, rest;
	modulo=1999999973;
	fin>>n>>p;
	putere=n;
	while(p)
	{
		rest=p%2;
		if(rest==1)
			rez=(rez%modulo*putere%modulo)%modulo;
		p/=2; putere=putere*putere%modulo;
	}
	fout<<rez<<'\n';
	fout.close();
	return 0;
}