Cod sursa(job #538724)

Utilizator scipianusFMI Ciprian Olariu scipianus Data 21 februarie 2011 21:01:36
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream>
using namespace std;
int RidicareLaPutere(int x,int n)
{
	int p=1;
	while(n>0)
	{
		if (n & 1) 
		{
			p=((p%1999999973)*(x%1999999973))%1999999973;
			n--;
		}
	x=((x%1999999973)*(x%1999999973))%1999999973;
	n=n>>1;
	}	
	return p ;
}

int main()
{
	int put;
	int n,p;
	ifstream fin("lgput.in");
	fin>>n>>p;
	fin.close();
	put=RidicareLaPutere(n,p);
	ofstream fout("lgput.out");
	fout<<put<<"\n";
	fout.close();
	return 0;
}