Cod sursa(job #954193)

Utilizator mircea.dobreanuMircea Dobreanu mircea.dobreanu Data 28 mai 2013 17:07:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include<fstream>
using namespace std;
const int diviz=1999999973;
long long n,p,res=1;

int main()
{
	ifstream fin("lgput.in");
	fin>>n>>p;
	fin.close();

	while (p)
	{
		if (p%2)
		{
			res=(res*n)%diviz;
			--p;
		}
		else
		{
			n=(n*n)%diviz;
			p=(p>>1);
		}
	}

	ofstream fout("lgput.out");
	fout<<res<<'\n';
	fout.close();
	return 0;
}