Introduksjon til Fibonacci-serien i C #

Fibonacci-serien i C # i Fibonacci-serien er en av de berømte sekvensseriene. Sekvensen er 0, 1, 1, 2, 3, 5, 8…. Fibonacci-serien starter fra null og ett, og det neste tallet er summen av to foregående tall. Det er blitt sagt at Fibonacci-serien opprettet av Mr.Leonardo Pisano Bigollo på 1200 - tallet. Fibonacci-serien er nyttig for noen scenarier. I utgangspunktet ble det opprinnelig brukt til å løse kaninproblemet, dvs. antall kaniner født fra et par. Det er andre problemer også der Fibonacci-sekvensen er nyttig.

Fibonacci-seriens logikk

Som i Fibonacci-serien er tallet summen av de to foregående tallene. Så hvis vi har en Fibonacci-serie, si 0, 1, 1, 2, 3, 5, 8, 13, 21 … I følge dette vil neste tall være summen av de foregående to som 13 og 21. Så det neste tallet er 13 + 21 = 34.

Her er logikken for å generere Fibonacci-serier

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

Hvor F (n) er terminnummer og F (n-1) + F (n-2) er en sum av foregående verdier.

Så hvis vi har serier 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

Neste termin vil være 144.

Ulike metoder for å lage Fibonacci-serien

Fibonacci-serier kan genereres på flere måter

1. Iterativ tilnærming

Denne måten er den enkleste måten å 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 annen metode for å løse dette problemet.

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

Produksjon:

3. Fibonacci ved å bruke 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);
)
)
)

Produksjon:

Hvordan finne den niende termin av Fibonacci-serien?

Følgende er metodene

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

Koden ovenfor er å finne den niende termen i Fibonacci-serien. For eksempel, hvis vi ønsker å finne den 12. termin i serien, ville resultatet bli 89.

Metode 2

(O (Logg t) Tid).

Det er hverandre gjentakelsesformel som kan brukes til å finne det fibonacci-tallet. Hvis t er jevnt da = t / 2:

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

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

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

Fibonacci-matrise

Etter å ha fått determinant, vil vi få (-1) t = Ft + 1Ft-1 - Ft2

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

Ved å sette t = t + 1,

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

Setter m = t

F2t-1 = Ft2 + Ft-12

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

For å få formelen vil vi gjøre følgende

Hvis t er jevn, sett k = t / 2

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

Så ved å sortere disse tallene kan vi forhindre at du bruker minneplass hele tiden til STACK. Det gir tidskompleksitet til O (n). Den rekursive algoritmen er mindre effektiv.

Kode:

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

Nå når algoritmen ovenfor kjøres 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 tre. For å beregne f (4) må vi beregne f (3) og f (2) og så videre. For en liten verdi på 4, beregnes f (2) to ganger og f (1) beregnes tre ganger. Dette antallet tillegg vil vokse for store antall.

Det er en antakelse at antallet tillegg som kreves for å beregne f (n) er f (n + 1) -1.

Konklusjon

Her er iterasjonsmetoden alltid å foretrekke fordi den har en raskere tilnærming for å løse denne typen problemer. Her lagrer vi det første og andre nummeret av Fibonacci-serien i forrige nummer og forrige nummer (dette er to variabler), og vi bruker også det gjeldende tallet for å lagre Fibonacci-tallet.

Anbefalte artikler

Dette er en guide til Fibonacci-serien i C #. Her diskuterer vi Fibonacci Series-logikk med forskjellige metoder og hvordan du finner den niende termen i Fibonacci-serien. Du kan også gå gjennom andre relaterte artikler for å lære mer-

  1. Fibonacci-serien i C.
  2. C # Kompilatorer
  3. C # Kommandoer
  4. C # For Loop
  5. Guide til Fibonacci-serien i C ++
  6. Fibonacci-serien i JavaScript