Programeri.com

Programeski Web Blog

Rekurzivne Funkcije

Septembar2

Na par mjesta sam vidio link do ovog tutorial, medjutim posto sam promjenio stranicu dobijete praznu stranicu. Pa evo tutorial ponovo:

Rekurzivna funkcija je funkcija koja poziva samu sebe da obnovi operaciju. Paznja: Svaka rekurzivna funkcija treba da ima exit ili return da bi izbjegli beskonacnu petlju. Evo vrlo jednostavan primjer.

function factorial($broj) {

    if ($broj < 2) {
        return 1;
    } else {
        return ($broj * factorial($broj-1));
    }
}

echo factorial(6);

Znaci evo i objasnjenje:

Prvi put funkcija je pozvana i variabla $broj je 6 znaci:
$broj = 6
Ako je $broj manji od 2 vrati true (1) exit. Ako nije vrati
6 * factorial(5) … zasto 5 $broj – 1 = 6 – 1 = 5

Znaci sada to ponovimo sa 5

6 * (5 * factorial(4))

Ponovimo sa 4

6 * (5 * (4 * factorial(3)))

Ponovimo sa 3

6 * (5 * (4 * (3 * factorial(2))))

Ponovimo sa 2

6 * (5 * (4 * (3 * (2 * factorial(1)))))

Medjutim 1 je manji od dva, i funkcija ce vratiti true. Sta smo dobili

6 * 5 * 4 * 3 * 2 = 720

6! = 720

Lagano zar ne :)

posted under Ostalo

Morate biti upisani da bit postavili komentar.

 

Log in to post a comment.