Cod sursa(job #571553)

Utilizator petru94simion petru petru94 Data 4 aprilie 2011 16:26:09
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
unsigned  long long n,a,b;
unsigned long long spr(unsigned  long long t,unsigned  long long k){
	unsigned  long long c,d;
	if(t==0)
		return 0;
	if(k==0)
		return 1;
	c=spr(t,k/2)%1999999973;
	d=(c*c)%1999999973;
	if(k%2)
		d=(d*t)%1999999973;
	return d;
}
int main(){
	f>>a>>n;
	//if(a==0&&n==0)
		//cout<<" eroare";
	//else{
		b=spr(a,n);
		//cout<<a<<" la puterea "<<n<<" este "<<b;
		g<<b<<'\n';
	//}
	g.close();
	return 0;
}