Cod sursa(job #750149)

Utilizator Agent008Cristi Poputea Agent008 Data 21 mai 2012 00:03:07
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<fstream>
#include<iostream>
#define modu 1999999973
using namespace std;
fstream f("lgput.in",ios::in), g("lgput.out",ios::out);
long long putere(long long nr,long long p);
long long a,b,c,rez;
int main()
{
	f>>a>>b;
	rez=putere(a,b);
	//cout<<rez%c;
	//g<<rez%c;
	cout<<rez;
	g<<rez;
	return 0;
}
long long putere(long long nr,long long p)
{
	if(p==1)
		return nr;
	if(!p%2)
		return putere((nr*nr)%modu,p/2);
	else
		return putere((nr*nr*a)%modu,(p-1)/2);
}