Cod sursa(job #571539)

Utilizator petru94simion petru petru94 Data 4 aprilie 2011 16:17:06
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<iostream.h>
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);
	d=c*c%1999999973;
	if(k%2)
		d*=t;
	return d%1999999973;
}
int main(){
	cout<<" a= ";
	cin>>a;
	cout<<" n= ";
	cin>>n;
	if(a==0&&n==0)
		cout<<" eroare";
	else{
		b=spr(a,n);
		cout<<a<<" la puterea "<<n<<" este "<<b;
	}
	return 0;
}