Einführung in die Fibonacci-Serie in C #

Die Fibonacci-Reihe in C # in der Fibonacci-Reihe ist eine der berühmtesten Sequenzreihen. Die Reihenfolge ist 0, 1, 1, 2, 3, 5, 8…. Die Fibonacci-Reihe beginnt bei Null und Eins und die nächste Zahl ist die Summe von zwei vorhergehenden Zahlen. Es wurde gesagt, dass die Fibonacci-Serie von Herrn Leonardo Pisano Bigollo im 13. Jahrhundert erstellt. Die Fibonacci-Reihe ist für einige Szenarien nützlich. Grundsätzlich wurde es ursprünglich verwendet, um das Kaninchenproblem zu lösen, dh die Anzahl der aus einem Paar geborenen Kaninchen. Es gibt auch andere Probleme, bei denen die Fibonacci-Sequenz nützlich ist.

Fibonacci-Reihen-Logik

Wie in der Fibonacci-Reihe ist die Zahl die Summe der beiden vorhergehenden Zahlen. Also, wenn wir eine Fibonacci-Reihe haben, sagen wir 0, 1, 1, 2, 3, 5, 8, 13, 21 … Nach dieser nächsten Zahl wäre die Summe der vorhergehenden zwei wie 13 und 21. Die nächste Zahl ist also 13 + 21 = 34.

Hier ist die Logik zum Generieren von Fibonacci-Reihen

F (n) = F (n-1) + F (n-2)

Wobei F (n) die Termnummer ist und F (n-1) + F (n-2) eine Summe der vorhergehenden Werte ist.

Wenn wir also die Serien 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 haben…

Nach der Logik F (n) = F (n-1) + F (n-2)

F (n) = 55 + 89

F (n) = 144

Die nächste Amtszeit wäre 144.

Verschiedene Methoden zum Erstellen von Fibonacci-Serien

Fibonacci-Reihen können auf verschiedene Arten erzeugt werden

1. Iterativer Ansatz

Auf diese Weise können Sie am einfachsten Serien erstellen.

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespaceFibonacciDemo
(
classProgram
(
staticint Fibonacci(int n)
(
intfirstnumber = 0, secondnumber = 1, result = 0;
if (n == 0) return 0; //It will return the first number of the series
if (n == 1) return 1; // it will return the second number of the series
for (int i = 2; i<= n; i++) // main processing starts from here
(
result = firstnumber + secondnumber;
firstnumber = secondnumber;
secondnumber = result;
)
return result;
)
staticvoid Main(string() args)
(
Console.Write("Length of the Fibonacci Series: ");
int length = Convert.ToInt32(Console.ReadLine());
for(int i = 0; i< length; i++)
(
Console.Write("(0) ", Fibonacci(i));
)
Console.ReadKey();
)
)
)

2. Rekursive Methode

Dies ist eine weitere Methode, um dieses Problem zu lösen.

Methode 1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespaceFibonacciDemo
(
classProgram
(
staticint Fibonacci(int n)
(
intfirstnumber = 0, secondnumber = 1, result = 0;
if (n == 0) return 0; //it will return the first number of the series
if (n == 1) return 1; // it will return the second number of the series
return Fibonacci(n-1) + Fibonacci(n-2);
)
staticvoid Main(string() args)
(
Console.Write("Length of the Fibonacci Series: ");
int length = Convert.ToInt32(Console.ReadLine());
for(int i = 0; i< length; i++)
(
Console.Write("(0) ", Fibonacci(i));
)
Console.ReadKey();
)
)
)

Methode 2

using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace FibonacciSeries
(
class Program
(
public static void Fibonacci
(
int firstnumber,
int secondnumber,
int count,
int length,
)
(
if (count <= length)
(
Console.Write("(0) ", firstnumber);
Fibonacci(secondnumber, firstnumber + secondnumber, count + 1, length);
)
)
public static void Main(string() args)
(
Console.Write("Length of the Fibonacci Series: ");
int length = Convert.ToInt32(Console.ReadLine());
Fibonacci(0, 1, 1, length);
Console.ReadKey();
)
)
)

Ausgabe:

3. Fibonacci mit Array

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class Program
(
public static int() Fibonacci(int number)
(
int() a = new int(number);
a(0) = 0;
a(1) = 1;
for (int i = 2; i < number; i++)
(
a(i) = a(i - 2) + a(i - 1);
)
return a;
)
public static void Main(string() args)
(
var b = Fibonacci(10);
foreach (var elements in b)
(
Console.WriteLine(elements);
)
)
)

Ausgabe:

Wie finde ich den N-ten Term der Fibonacci-Reihe?

Es folgen die Methoden

Methode 1

Code:

using System;
namespace FibonacciSeries
(
class Program (
public static int NthTerm(int n)
(
if ((n == 0) || (n == 1))
(
return n;
)
else
(
return (NthTerm(n - 1) + NthTerm(n - 2));
)
)
public static void Main(string() args)
(
Console.Write("Enter the nth term of the Fibonacci Series: ");
int number = Convert.ToInt32(Console.ReadLine());
number = number - 1;
Console.Write(NthTerm(number));
Console.ReadKey();
)
)
)

Der obige Code soll den n-ten Term in der Fibonacci-Reihe finden. Wenn wir zum Beispiel den 12. Term in der Reihe finden wollen, wäre das Ergebnis 89.

Methode 2

(O (Log t) Zeit).

Es gibt eine weitere Wiederholungsformel, mit der die t-te Fibonacci-Zahl ermittelt werden kann. Wenn t gerade ist, dann ist = t / 2:

F (t) = (2 · F (k - 1) + F (k)) · F (k)

Wenn t ungerade ist, ist k = (t + 1) / 2

F (t) = F (k) · F (k) + F (k - 1) · F (k - 1)

Fibonacci-Matrix

Nachdem wir die Determinante erhalten haben, erhalten wir (-1) t = Ft + 1Ft-1 - Ft2

FmFt + Fm-1Ft-1 = Fm + t-1

Durch Setzen von t = t + 1

FmFt + 1 + Fm-1Ft = Fm + t

Setzen Sie m = t

F2t-1 = Ft2 + Ft-12

F2t = (Ft-1 + Ft + 1) Ft = (2Ft-1 + Ft) Ft

Um die Formel zu erhalten, gehen wir wie folgt vor

Wenn t gerade ist, setze k = t / 2

Wenn t ungerade ist, setze k = (t + 1) / 2

Indem wir diese Zahlen sortieren, können wir verhindern, dass der Speicherplatz von STACK ständig genutzt wird. Es gibt die zeitliche Komplexität von O (n) an. Der rekursive Algorithmus ist weniger effizient.

Code:

int f(n) :
if( n==0 || n==1 )
return n;
else
return f(n-1) + f(n-2)

Wenn nun der obige Algorithmus für n = 4 läuft

fn (4)

f (3) f (2)

f (2) f (1) f (1) f (0)

f (1) f (0)

Es ist also ein Baum. Zur Berechnung von f (4) müssen wir f (3) und f (2) usw. berechnen. Für einen kleinen Wert von 4 wird f (2) zweimal berechnet und f (1) dreimal. Diese Anzahl von Hinzufügungen wächst für große Zahlen.

Es besteht die Vermutung, dass die Anzahl der Additionen, die zur Berechnung von f (n) erforderlich sind, f (n + 1) -1 beträgt.

Fazit

Hier wird die Iterationsmethode immer bevorzugt, da sie einen schnelleren Lösungsansatz für diese Art von Problem bietet. Hier speichern wir die erste und die zweite Nummer der Fibonacci-Reihe in der vorherigen Nummer und der vorherigen Nummer (dies sind zwei Variablen) und verwenden auch die aktuelle Nummer, um die Fibonacci-Nummer zu speichern.

Empfohlene Artikel

Dies ist eine Anleitung zur Fibonacci-Reihe in C #. Hier diskutieren wir die Logik der Fibonacci-Reihe mit verschiedenen Methoden und wie man den n-ten Term der Fibonacci-Reihe findet. Sie können auch unsere anderen verwandten Artikel durchgehen, um mehr zu erfahren.

  1. Fibonacci-Reihe in C
  2. C # -Compiler
  3. C # -Befehle
  4. C # For-Schleife
  5. Leitfaden zur Fibonacci-Serie in C ++
  6. Fibonacci-Serie In JavaScript