Cod sursa(job #571539)
Utilizator | 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;
}