Cod sursa(job #293407)

Utilizator andreirRoti Andrei andreir Data 1 aprilie 2009 20:01:52
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<fstream>
#include<iostream>
#define m 1999999973
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long n,p,s=1,i;
int main()
{
	fin>>n>>p;
	//cout<<"n="<<n<<" p="<<p<<endl;
	while(p!=0)
	{
		if(p%2==1)
			s=(s*n)%m;//cout<<"ding!"<<endl;
		n=(n*n)%m;
		p/=2; //cout<<"n="<<n<<" p="<<p<<" s="<<s<<endl;
	}
	fout<<s<<"\n";
	//cout<<s;
	return 0;
}