369
Cerința
Prietenul nostru, Ionci, a învățat la scoală despre ridicarea la putere. Ajutați-l să calculeze ab, folosind o funcție recursivă.
Date de intrare
Programul citește de la tastatură numerele naturale a și b.
Date de ieșire
Programul va afișa pe ecran numărul P, reprezentând ab.
Restricții și precizări
0 ≤ P ≤ 2.000.000.000;a + b > 0;- se recomandă realizarea unui subprogram recursiv.
Exemplu
Intrare
5 4
Ieșire
625
Explicație
5 * 5 * 5 * 5 = 625.
#include <bits/stdc++.h>
using namespace std;
int a_la_b(int a, int b){
if(b == 0)
return 1;
else{
if(b % 2 == 0)
return a_la_b(a, b/2) * a_la_b(a, b/2);
else
return a_la_b(a, b/2) * a_la_b(a, b/2) * a;
}
}
int main(){
int a, b;
cin >> a >> b;
cout << a_la_b(a, b);
return 0;
}
Comentarii