PHP :: Aufgabe #191 :: Lösung #4
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
#4
von joelbladt (80 Punkte)
- 03.05.2019 um 23:36 Uhr
<?php
(int)$i = 1;
(int)$number = 3;
function factorial(float $val) : float {
return $val == 1 ? 1 : $val * factorial($val-1);
}
function calcMethod(float $val) : string {
return $val == 1 ? 1 : $val . ' * ' . calcMethod($val-1);
}
while(true) {
if (factorial($i) == $number) {
echo 'The number you are looking for is ' . (string)$i . ' (' . (string)calcMethod($i) . ')';
break;
} else if (factorial($i) > $number) {
echo 'The next valid factorial result after ' . (string)$number . ' is ' . (string)factorial($i) . ' (' . (string)calcMethod($i) . ')';
break;
} else {
$i++;
factorial($i);
}
}Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
