Šioje programoje išmoksite apskaičiuoti skaičiaus galią naudodami „Java“ rekursinę funkciją.
Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:
- „Java“ metodai
- „Java Recursion“
Pavyzdys: programa apskaičiuoti galią naudojant rekursiją
public class Power ( public static void main(String() args) ( int base = 3, powerRaised = 4; int result = power(base, powerRaised); System.out.printf("%d^%d = %d", base, powerRaised, result); ) public static int power(int base, int powerRaised) ( if (powerRaised != 0) return (base * power(base, powerRaised - 1)); else return 1; ) )
Rezultatas
3 4 = 81
Pirmiau pateiktoje programoje jūs apskaičiuojate galią naudodami rekursinės funkcijos galią ().
Paprasčiau tariant, rekursinė funkcija padaugina pagrindą iš savęs, kad galia padidėtų, tai yra:
3 * 3 * 3 * 3 = 81Vykdymo veiksmai
Kartojimas | galia () | galia Pakelta | rezultatas |
---|---|---|---|
1 | galia (3, 4) | 4 | 3 * rezultatas 2 |
2 | galia (3, 3) | 3 | 3 * 3 * rezultatas 3 |
3 | galia (3, 2) | 2 | 3 * 3 * 3 * rezultatas 4 |
4 | galia (3, 1) | 1 | 3 * 3 * 3 * 3 * rezultato finalas |
Galutinis | galia (3, 0) | 0 | 3 * 3 * 3 * 3 * 1 = 81 |