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

4 Lösungen Lösungen öffentlich
#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
#4
vote_ok
von joelbladt (80 Punkte) - 03.05.2019 um 23:36 Uhr
Quellcode ausblenden PHP-Code
<?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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1812972

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.