PHP :: Aufgabe #84

4 Lösungen Lösungen öffentlich

Ausgabe der Fibonacci-Folge

Anfänger - PHP von BlackBird321 - 07.06.2015 um 21:08 Uhr
Entwickeln Sie ein Programm, dass "n" Stellen abfragt und diese dann als Fibonacci-Folge ausgibt.

Bsp: 6 Stellen
1, 1, 2, 3, 5, 8,...

Lösungen:

vote_ok
von x9eleven (640 Punkte) - 06.08.2015 um 09:56 Uhr
Quellcode ausblenden HTML-Code
<p>Ausgabe der Fibonacci-Folge</p>
        <p><form action="fibonacci.php" method="post">
            <p><input name="zahl"></p>
            <p><input type="submit" value="Berechnen"></p>
        </form></p>


Quellcode ausblenden PHP-Code
<?php
            $eingabe = $_POST["zahl"];
            $f[0] = 0;
            $f[1] = 1;
            $f[2] = 1;
            
            echo "0 | " . $f[0] . "<br />";
            echo "1 | " . $f[1] . "<br />";
            echo "2 | " . $f[2] . "<br />";
            
            for ($n = 3; $n < $eingabe; $n++) {
                $f[$n] = $f[$n - 2] + $f[$n - 1];
                echo $n + 1 . " | " . $f[$n + 1] . "<br />";
            }            
        ?>

vote_ok
von Jinnai (340 Punkte) - 20.11.2015 um 01:22 Uhr
Quellcode ausblenden PHP-Code
<?php
	function fibunacci($nStellen) {
		$wert1 = 0;
		$wert2 = 1;
		for($i = 0; $i < $nStellen; $i++) {
			$erg = $wert1 + $wert2;
			$wert1 = $wert2;
			$wert2 = $erg;
			echo $erg . '<br />';
		}
	}
	
	fibunacci(10);
?>
vote_ok
von Exception (7090 Punkte) - 24.06.2018 um 16:33 Uhr
Quellcode ausblenden PHP-Code
<?php

function calcFibonacci($n)
{
	if($n < 2)
	{
		throw new Exception('Schrittweite sollte mindestens 2 sein.');
	}

	$fib = array(0, 1);

	for ($index=2; $index < $n; $index++) 
	{ 
		$fib[$index] = $fib[$index-1] + $fib[$index-2];
	}

	return $fib;
}

try
{
	echo '<pre>';
	print_r(
		calcFibonacci(42)
	);
	echo '</pre>';	
}
catch(Exception $ex)
{
	echo $ex->getMessage();
}

?>
vote_ok
von paddlboot (3970 Punkte) - 12.08.2019 um 14:03 Uhr
Quellcode ausblenden PHP-Code
<?php
//beliebige Eingabe machen
$stellen = 10;

$zahl1 = 1;
$zahl2 = 1;

if($stellen == 1)
{
	echo $zahl1;
}
else if($stellen == 2)
{
	echo $zahl1.', '.$zahl2;
}
else
{
	echo $zahl1.', '.$zahl2.', ';

	for($i = 2; $i < $stellen; $i++)
	{
		$temp = $zahl2;
		$zahl2 = $zahl1 + $zahl2;
		$zahl1 = $temp;
		echo $zahl2.', ';
	}
}

?>
2110138

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.