PHP :: Aufgabe #191 :: Lösung #2
4 Lösungen

#191
Rekursieve Fakultät von n
Fortgeschrittener - PHP
von FHEM
- 22.07.2018 um 19:09 Uhr
Erstelle ein programm das n! = 120 zum beispiel nach n auflöst.
Ansatz: 5! =5*4*3*2*1 also müsste n=120/5/4/3/2/1
Ansatz: 5! =5*4*3*2*1 also müsste n=120/5/4/3/2/1
#2

von syneex (2670 Punkte)
- 29.08.2018 um 13:30 Uhr

<?php //Lösung 1: Liefert nächstes Fakultätsergebnis nach eingegebenem $number = 120; $zahl = 1; $bool = true; echo "Lösung 1:<br><br>"; while($bool) { if(faku($zahl) == $number) { $bool = false; echo "Die gesuchte Zahl ist " . $zahl; } if(faku($zahl) != $number) { $zahl += 1; faku($zahl); } if(faku($zahl) > $number) { echo faku($zahl) . " (" . $zahl . "!) ist das nächste gültige Fakultätsergebnis nach " . $number; $bool = false; } } function faku($int) { $erg; if($int == 1) { $erg = 1; } else { $erg = $int * faku($int-1); } return $erg; } //Lösung 2: Lösung mit Array, Bei ungültiger Eingabe muss neu eingegeben werden! echo "<br><br><br>Lösung 2:<br><br>"; $array = array(); for($i = 1; $i <= 99; $i++) { $array[$i] = faku($i); } if(in_array($number, $array)) { echo "Die gesuchte Zahl ist " . array_search($number, $array); } else { echo "Bitte gültiges Fakultätsergebnis eingeben!"; } ?>
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1