Introduktion til Fibonacci-serien i C #

Fibonacci-serien i C # i Fibonacci-serien er en af ​​de berømte serier. Sekvensen er 0, 1, 1, 2, 3, 5, 8…. Fibonacci-serien starter fra nul og et, og det næste tal er summen af ​​to foregående tal. Det er blevet sagt, at Fibonacci-serien oprettet af Mr.Leonardo Pisano Bigollo i det 13. århundrede. Fibonacci-serien er nyttig til nogle scenarier. Grundlæggende blev det oprindeligt brugt til at løse kaninproblemet, dvs. antallet af kaniner, der er født fra et par. Der er andre problemer, hvor Fibonacci-sekvensen er nyttig.

Fibonacci-seriens logik

Ligesom i Fibonacci-serien er tallet summen af ​​dets to foregående tal. Så hvis vi har en Fibonacci-serie, siger 0, 1, 1, 2, 3, 5, 8, 13, 21 … I henhold til dette næste tal ville summen være de foregående to ligesom 13 og 21. Så det næste tal er 13 + 21 = 34.

Her er logikken for at generere Fibonacci-serier

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

Hvor F (n) er termnummer og F (n-1) + F (n-2) er en sum af foregående værdier.

Så hvis vi har serien 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 …

I henhold til logikken F (n) = F (n-1) + F (n-2)

F (n) = 55 + 89

F (n) = 144

Den næste valgperiode ville være 144.

Forskellig metode til oprettelse af Fibonacci-serien

Fibonacci-serien kan genereres på flere måder

1. Iterativ tilgang

Denne måde er den nemmeste måde at generere serier på.

Kode:

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. Rekursiv metode

Dette er en anden metode til at løse dette problem.

Metode 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();
)
)
)

Metode 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();
)
)
)

Produktion:

3. Fibonacci ved hjælp af Array

Kode:

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);
)
)
)

Produktion:

Hvordan finder jeg den niende periode i Fibonacci-serien?

Følgende er metoderne

Metode 1

Kode:

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();
)
)
)

Ovenstående kode er at finde det niende udtryk i Fibonacci-serien. For eksempel, hvis vi ønsker at finde den 12. sigt i serien, ville resultatet være 89.

Metode 2

(O (Log t) Tid).

Der er hinanden gentagelsesformel, der kan bruges til at finde det Fibonacci-tal Hvis t er jævn da = t / 2:

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

Hvis t er underligt, er k = (t + 1) / 2

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

Fibonacci-matrix

Når vi har fået determinant, får vi (-1) t = Ft + 1Ft-1 - Ft2

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

Ved at sætte t = t + 1,

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

Sætter m = t

F2t-1 = Ft2 + Ft-12

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

For at få formlen, gør vi følgende

Hvis t er jævn, skal du sætte k = t / 2

Hvis t er underligt, skal du sætte k = (t + 1) / 2

Så ved at sortere disse numre kan vi forhindre konstant brug af hukommelsespladsen til STACK. Det giver tidskompleksitet af O (n). Den rekursive algoritme er mindre effektiv.

Kode:

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

Nu når ovenstående algoritme kører for n = 4

fn (4)

f (3) f (2)

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

f (1) f (0)

Så det er et træ. For beregning af f (4) er vi nødt til at beregne f (3) og f (2) osv. For en lille værdi på 4 beregnes f (2) to gange, og f (1) beregnes tre gange. Dette antal tilføjelser vokser for stort antal.

Der er en antagelse om, at antallet af tilføjelser, der kræves til beregning af f (n), er f (n + 1) -1.

Konklusion

Her foretrækkes iterationsmetoden altid, fordi den har en hurtigere tilgang til at løse denne type problemer. Her lagrer vi det første og det andet nummer af Fibonacci-serien i det forrige nummer og det forrige nummer (dette er to variabler), og vi bruger også det aktuelle antal til at gemme Fibonacci-nummeret.

Anbefalede artikler

Dette er en guide til Fibonacci-serien i C #. Her diskuterer vi Fibonacci-seriens logik med forskellige metoder og hvordan man finder den niende sigt for Fibonacci-serien. Du kan også gennemgå vores andre relaterede artikler for at lære mere-

  1. Fibonacci-serie i C.
  2. C # Kompilatorer
  3. C # kommandoer
  4. C # For sløjfe
  5. Vejledning til Fibonacci-serien i C ++
  6. Fibonacci-serien i JavaScript

Kategori: