Autor | Zpráva | ||
---|---|---|---|
orava Profil |
#1 · Zasláno: 6. 5. 2008, 19:42:00
Neviete na akej stranke si mozem otestovat faktorial a aka je na to funkcia?
|
||
vertigo4 Profil |
#2 · Zasláno: 6. 5. 2008, 20:00:22
orava
<?php function faktorial($cislo) { if ($cislo == 0) return 1; return $cislo * faktorial($cislo - 1); } ?> |
||
peta Profil |
#3 · Zasláno: 7. 5. 2008, 08:20:31
vertigo4
cislo<0 ? |
||
Timy Profil |
#4 · Zasláno: 7. 5. 2008, 09:46:38
Faktoriál máš na každé kalkulačce.
peta ...tak ti to pokaždé vyhodí nulu. |
||
nightfish Profil |
#5 · Zasláno: 7. 5. 2008, 10:54:04 · Upravil/a: nightfish
Timy
.tak ti to pokaždé vyhodí nulu. faktorial(-2) se imho zacyklí... -2*faktorial(-2 - 1) * faktorial(-3-1)... používat na faktoriál rekurzi je sice efektní, ale to je tak asi všechno function faktorial($cislo) { $vysledek = 1; for ($i = 2; $i <= $cislo; $i++) $vysledek *= $i; return $vysledek; } |
||
Joker Profil |
#6 · Zasláno: 7. 5. 2008, 13:26:33 · Upravil/a: Joker
nightfish
faktorial(-2) se imho zacyklí Nojo, "efektní" řešení by vypadalo nějak takhle: function faktorial($cislo) return(($cislo <= 1) ? 1 : $cislo*faktorial($cislo-1)); Cha :) (poznámka: jednička místo nuly v podmínce ušetří jednu zbytečnou rekurzi) |
||
Časová prodleva: 16 let
|
0