Cod sursa(job #1493944)
Utilizator | Data | 30 septembrie 2015 09:10:00 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include<iostream>
#include<conio.h>
unsigned long long n,p;
using namespace std;
int n_p(unsigned long long n,unsigned long long p)
{
int x=1;
while(p)
{
if(p&1){x=x*n;p--;};
p=p/2;
n=n*n;
}
return x;
}
int main(){
cout<<"dati baza n: ";
cin>>n;
cout<<"dati exponentul p: ";
cin>>p;
cout<<"in timp logaritmic: n^p="<<n_p(n,p);
_getch();
return 0;
}