290
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