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
