Heim  >  Artikel  >  Backend-Entwicklung  >  Fibonacci-Serie PHP

Fibonacci-Serie PHP

王林
王林Original
2024-08-29 13:12:20568Durchsuche

Laienhaft ausgedrückt ist eine Fibonacci-Reihe eine Reihe von Elementen, die gebildet oder erhalten werden, wenn die beiden vorherigen Elemente addiert werden, um das nächste Element zu bilden, bis wir die erforderliche Reihengröße erhalten. Normalerweise beginnen wir die Fibonacci-Reihe mit 0 und 1.

WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 Probetests

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Sobald die Serie erstellt wurde, sieht sie wie folgt aus:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34

Wie oben erwähnt, ergibt sich die nächste Zahl durch Addition der beiden vorherigen Zahlen.

  • Die „2“ an der 4ten Position (nte Position) in der oben angegebenen Reihe wird durch Addition der beiden vorhergehenden Zahlen erhalten[ [n-1] und n-2]), 1.
  • Die „3“ erhält man durch Addition der beiden vorhergehenden Zahlen,2.
  • Die „5“ erhält man durch Addition der beiden vorhergehenden Zahlen,3.
  • Und so weiter.

Fibonacci-Reihe in PHP und der Logik

Hier sehen wir speziell, wie wir die Fibonacci-Reihe erhalten, während wir in einer PHP-Umgebung arbeiten. Der Unterschied besteht im Format, in dem wir codieren werden, d. h. die Verwendung eines Start-Tags für ein PHP-Skript und seines End-Tags.

<?php
…;
…;
…;
?>

Dies wird Ihnen helfen zu verstehen und zu lernen, wie diese Fibonacci-Reihe in PHP mithilfe von zwei Methoden generiert wird, nämlich der iterativen Methode und der rekursiven Methode.

Wenn uns eine Zahl gegeben wird, z. B. „n“, die die Reihengröße darstellt, werden wir versuchen, die Fibonacci-Reihe bis zur angegebenen Zahl zu finden.

Wenn wir beispielsweise Fibonacci für n=5 erstellen müssen, werden wir Elemente bis zum 5. Term anzeigen.

Beispiel #1

  • Eingabe: n = 9
  • Ausgabe: 0 1 1 2 3 5 8 13 21

Beispiel #2

  • Eingabe: n=13
  • Ausgabe: 0 1 1 2 3 5 8 13 21 34 55 89 144

Logik in PHP

Die Logik ist die gleiche wie oben angegeben. Hier haben wir n=10 angegeben, d. h. wir müssen die Elemente bis zum n-ten Term finden. Daher werden wir unserer Logik so lange folgen, bis wir n Begriffe in unserer Reihe haben.

Sehen wir uns eines der oben genannten Beispiele an.

In einem der obigen Beispiele haben wir n=9 und Logic sagt Folgendes:

  • Initialisieren Sie die erste Zahl als 0.
  • Initialisieren Sie die zweite Zahl als 1.
  • Drucken Sie die erste und zweite Zahl aus.
  • Die Schleife beginnt hier.
  • Für das nächste Element in der Reihe, d. h. das 3rd Element [nth Element], werden wir die beiden unmittelbar vorhergehenden Zahlen [(n-1) und (n- 2)], um die nächste Zahl in der Reihe zu erhalten, wie hier 0 + 1 = 1.

Für n=3

  • n – 1 = 3 – 1 = 2. Element der Reihe = 1
  • n – 2 = 3 – 2 = 1. Element der Reihe = 0 3rd Element = (n-1) + (n-2) = 1 + 0 = 1

Das dritte Element in der Reihe ist also 1.

  • Ähnlich der Logik zufolge müssen wir, um das 4te Element [n] der Reihe zu erhalten, die vorangehenden Zahlen e addieren. (n-1) und (n-2) Element.

An diesem Punkt ist „n“ gleich „4“:

  • n – 1 = 4 – 1 = 3. Element der Reihe = 1
  • n – 2 = 4 – 2 = 2. Element der Reihe = 1 4th Element = (n-1) + (n-2) = 1 + 1 = 2

Somit erhalten wir unser 4.Element als 2.

Wenn also „n“ gleich 9 ist, erhalten wir nach der gleichen Logik wie oben erläutert eine Folge wie folgt: Die Fibonacci-Folge ist 0 1 1 2 3 5 8 13 21

PHP-Serie für Fibonacci-Druck mit zwei Ansätzen

Es gibt grundsätzlich zwei bekannte Versionen, wie wir in PHP ein Programm schreiben können, um Fibonacci-Reihen zu drucken:

  • Ohne Rekursion
  • Mit Rekursion

Wie in PHP üblich, verwenden wir die „echo“-Anweisung, um die Ausgabe zu drucken.

1. Der rekursionsfreie Weg

Auch bekannt für die Verwendung der Iteration. Dies ist der Ansatz, bei dem wir die Reihe mit 0 und 1 beginnen. Anschließend drucken wir die erste und zweite Zahl aus. Anschließend beginnen wir mit unserer Iteration mithilfe einer Schleife, hier verwenden wir eine While-Schleife.

PHP-Skript zum Drucken der ersten 10 Elemente der Fibonacci-Reihe.

Code:

<?php
function Fibonacci($n)
{
$num1= 0;
$num2= 1;
$counter= 0; while($counter < $n)
{
echo ' '.$num1;
$num3= $num2 + $num1;
$num1= $num2;
$num2= $num3;
$counter= $counter+1;
}
}
//for a pre defined number for Fibonacci.
$n=10; Fibonacci($n);
?>

Code-Erklärung:

  1. Here n is defined as equal to 10, so the logic will run till nth element e. Until we have n=10 elements in the series.
  2. First element is initialized to 0 and second element is initialized to 1, e. num1 = 0 and num2 = 1.
  3. The two elements i.e. num1 and num2 are printed as the first and second elements of the Fibonacci series.
  4. The logic we discussed will be used from here on and our iteration loop starts.
  5. According to our logic, to get num3, we need to add num1 and num2. Since currently num1 = 0 and num2 = 1, num3 comes out as 1.
  6. Now new number obtained is placed in num2 variable and num2 is saved in num1 variable. Basically simple swapping is taking place so that, now num1 is equal to ‘1’ and num2 = newly obtained num3 i.e. ‘1’.
  7. So when the next iteration happens and num3 is obtained by adding current values of num1 and num2, which, according to our PHP script, are as follows:
      • num1 = 1
      • num2 = 1
      • num3 = num1 + num2 = 1 + 1 = 2

Thus we get our next number in the Fibonacci Series.

  1. Similarly, the iteration keeps on till we achieve n = 10, size of the series that was defined in the program itself.

When the above program is executed, we get the output as follows:

Fibonacci-Serie PHP

2. The Recursion Way

By recursion, we mean the way where the same function is called repeatedly until a base condition is achieved or matched. At this point, recursion is stopped.

The said “function is called repeatedly” phrase points to the section in your code where we will define our logic for the Fibonacci Series.

Below is an example of generating Fibonacci Series in PHP, using If-Else conditions giving way for our recursive approach.

Here is the PHP Scripts for printing the first 15 elements for Fibonacci Series.

<?php
function Fibonacci($num)
{
//If-Else IF will generate first two numbers for the series if($num == 0)
return 0;
else if($num == 1) return 1;
// This is where Recursive way comes in.
//recursive call to get the rest of the numbers in the series else
return(Fibonacci($num -1) + Fibonacci( $num -2));
}
//For a given n=15
$num =15;
for($counter = 0; $counter < $num; $counter++)
{
echo Fibonacci($counter).' ';
}
?>

Code Explanation:

This is the recursive way, which means our function that contains our logic is called again and again for generating the next element in the series until our condition for achieving a specific series size is obtained.

In Iterative approaches, the First and Second element is first initialized and printed. Here we allow a For Loop to give us our first and second elements starting with 0 and 1.

  1. We are using a For loop having a ‘counter’ variable that starts with 0. The For loop works up till the given ‘n’, size for the series.
  2. when loop starts, with the counter variable as 0, we use the recursion approach and call our defined function, Fibonacci ( ).
  3. Here code starts, with If and Else IF condition.
  4. First IF condition checks if ‘num’ variable holds value as ‘0’, if yes, then the code prints or returns ‘0’ as the element for the series.
  5. Similarly, second Else-If condition checks for the value ‘1’, if the ‘num’ variable holds ‘1’ as its value, the program returns it as it is.
  6. Next Else condition recursively calls the Fibonacci function for’ num’ values other than ‘0’ and ‘1’, continuing to reading the values from the For loop counter.

This is where our Fibonacci Logic comes into work and the next number in the sequence is obtained by adding its previous two numbers. Because this is the recursive method, we need to give a counter value to count the recursions equal to nth value, which is being handled by our For Loop.

When the above program or code is executed, the following output is displayed.

Fibonacci-Serie PHP

The Fibonacci Series does not only appear in mathematics or science calculations but in nature too, have you ever noticed Yellow chamomile flower head.

The Fibonacci Series if plotted on a graph, it forms a spiral called Fibonacci Spiral. It is also one of the gems given by Indian soil. It is found in Indian Mathematics as early as 200 BC in the works done by the mathematician, Pingala. Later Fibonacci introduced the sequence to European countries in his book Liber Abacci in 1200s.

Das obige ist der detaillierte Inhalt vonFibonacci-Serie PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Eintausch in PHPNächster Artikel:Eintausch in PHP