Cod sursa(job #1625088)
| Utilizator | Data | 2 martie 2016 16:38:31 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <iostream>
using namespace std;
int putere ( int a , int b)
{ if(b==0)
return 1;
if(b==1)
return a ;
if (b%2 ==0 )
return putere(a , b/2)* putere(a,b/2);
if(b%2 ==1)
return putere(a,b/2)* putere(a,b/2) * putere(a,1);
}
int putere2 ( int a , int b)
{ int c = a ;
for(int i =2; i<=b ;i++)
c=c*a;
return c ;
}
int main()
{
int a =2 , b=4;
cout<<putere(a,b);
return 0;
}
