Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [podstawy podstaw]Funkcje - rekurencja
Forum PHP.pl > Forum > Przedszkole
murawa
Mam skrypt w którym pokazane jest jak zagniezdzic funkcje w funkcji jednak mam problem ze zrozumieniem tego :/
Silnia z 6=1x2x3x4x5x6
czyli 6!=5!x6

Skrypt wyglada następująco:
  1. <?php
  2. function silnia($n)
  3. { 
  4.  
  5. if($n==0) return 1;
  6. else return silnia($n-1)*$n;
  7.  
  8. }
  9. $i=6;
  10. echo($i.'!='.silnia($i));
  11. ?>


Mozecie mi po kolei wytlumaczyc jak działa ten skrypt ?

silnia(6)=silnia5x6 czyli silnia(6)=silnia30 no i ?
Sory ale sie dopiero ucze :/
mike
Żeby zrozumieć rekurencję trzeba najpierw zrozumieć rekurencję. laugh.gif

Proszę poprawić temat wątku. Tag jaki zastosowałeś nie jest poprawny. Więcej tutaj: Tematyka i zasady panujące na forum Przedszkole
KG-
Cytat
silnia(6)=silnia5x6 czyli silnia(6)=silnia30 no i ?

silnia(6) = 6*silnia(5) = 6*5*silnia(4) = 6*5*4*silnia(3) itd
silnia(5) = 5*silnia(4)
silnia(4) = 4*silnia(3)
...
silnia(0) = 1;

Mam nadzieję że to ci trochę rozjaśni sytuację.

A silnia z 6 to nie 30 tylko 720. winksmiley.jpg
Pozdrawiam.
murawa
ok dzieki juz rozumiem winksmiley.jpg



---
Nie lubię jak olewa się moje prośby. Następnym razem mogę nie być wyrozumiały i nie będę prosił ponowanie.
Tymczasem proszę poprawić temat wątku stosując się do zasad i tagów opisanych tutaj: Tematyka i zasady panujące na forum Przedszkole
~mike_mech
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.