Rekurencja w praktyce

Założenie: Napiszemy funkcję rekurencyjną w PHP, która obliczy silnię liczby.

Krok po kroku:

  1. Definicja funkcji silnia: Funkcja `silnia` przyjmuje jeden argument – liczbę całkowitą. Jeżeli liczba jest mniejsza lub równa 1, zwraca 1 (przypadki bazowe). W przeciwnym wypadku zwraca liczbę pomnożoną przez wynik rekurencyjnego wywołania funkcji `silnia` dla liczby pomniejszonej o 1.
  2. 
    function silnia(int $n): int {
      if ($n <= 1) {
        return 1;
      } else {
        return $n * silnia($n - 1);
      }
    }
    				
  3. Wywołanie funkcji i wyświetlenie wyniku: Wywołujemy funkcję `silnia` z wybraną liczbą i wyświetlamy wynik za pomocą `echo`.
  4. 
    $liczba = 5;
    $wynik = silnia($liczba);
    echo "Silnia liczby " . $liczba . " wynosi: " . $wynik; // Wyświetli: Silnia liczby 5 wynosi: 120
    				
  5. Ograniczenia stosu: Rekurencja może prowadzić do przepełnienia stosu, jeśli funkcja wywoła się rekurencyjnie zbyt wiele razy. Dla bardzo dużych liczb, ten kod może zakończyć się błędem.

Ten przykład pokazuje podstawy rekurencji w PHP. Zachęcamy do eksperymentowania z różnymi liczbami i zgłębiania tematu rekurencji, aby lepiej zrozumieć jej możliwości i ograniczenia.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *