Sissejuhatus Fibonacci sarja C #

Fibonacci seeria C # Fibonacci seeria on üks kuulsatest jadaseeriatest. Jada on 0, 1, 1, 2, 3, 5, 8…. Fibonacci seeria algab nullist ja üks ning järgmine arv on kahe eelneva numbri summa. On öeldud, et hrLeonardo Pisano Bigollo 13. sajandil loodud Fibonacci sari. Fibonacci seeria on kasulik mõne stsenaariumi jaoks. Põhimõtteliselt kasutati seda algselt küülikuprobleemi lahendamiseks, st paarist sündinud küülikute arv. On ka muid probleeme, milles Fibonacci järjestus on kasulik.

Fibonacci seeria loogika

Nagu Fibonacci seerias, on arv selle kahe eelneva numbri summa. Nii et kui meil on Fibonacci seeria, ütleme 0, 1, 1, 2, 3, 5, 8, 13, 21 … Selle järgmise numbri järgi moodustuks kahe eelneva summa, näiteks 13 ja 21. summa. Seega järgmine arv on 13 + 21 = 34.

Siin on Fibonacci seeria genereerimise loogika

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

Kui F (n) on termininumber ja F (n-1) + F (n-2) on eelnevate väärtuste summa.

Nii et kui meil on seeria 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 …

Loogika järgi F (n) = F (n-1) + F (n-2)

F (n) = 55 + 89

F (n) = 144

Järgmine ametiaeg oleks 144.

Fibonacci seeria loomise erinevad meetodid

Fibonacci seeriaid saab genereerida mitmel viisil

1. Iteratiivne lähenemine

See viis on sarjade genereerimiseks kõige lihtsam.

Kood:

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. Rekursiivne meetod

See on veel üks meetod selle probleemi lahendamiseks.

1. meetod

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

2. meetod

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

Väljund:

3. Fibonacci, kasutades massiivi

Kood:

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

Väljund:

Kuidas leida Fibonacci sarja N-ndat korda?

Järgnevalt on toodud meetodid

1. meetod

Kood:

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

Ülaltoodud kood on Fibonacci sarja n-nda termini leidmiseks. Näiteks kui tahame leida seeria 12. termini, siis oleks tulemus 89.

2. meetod

(O (Logi t) aeg).

Fibonacci arvu leidmiseks on olemas veel üks kordusvalem, kui t on isegi siis = t / 2:

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

Kui t on paaritu, siis k = (t + 1) / 2

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

Fibonacci maatriks

Pärast determinandi saamist saame (-1) t = Ft + 1Ft-1 - Ft2

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

Pannes t = t + 1,

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

Pannes m = t

F2t-1 = Ft2 + Ft-12

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

Valemi saamiseks teeme järgmist

Kui t on ühtlane, pange k = t / 2

Kui t on paaritu, pange k = (t + 1) / 2

Nii et neid numbreid sorteerides saame ära hoida STACKi pidevalt kasutatava mäluruumi kasutamise. See annab O (n) aja keerukuse. Rekursiivne algoritm on vähem efektiivne.

Kood:

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

Kui ülaltoodud algoritm töötab n = 4

fn (4)

f (3) f (2)

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

f (1) f (0)

Nii et see on puu. F (4) arvutamiseks peame arvutama f (3) ja f (2) ja nii edasi. Väikese väärtuse 4 korral arvutatakse f (2) kaks korda ja f (1) kolm korda. See täienduste arv kasvab suure arvu puhul.

Võib arvata, et f (n) arvutamiseks on vaja lisada f (n + 1) -1.

Järeldus

Siin eelistatakse alati iteratsioonimeetodit, kuna selle probleemi lahendamiseks on kiirem lähenemisviis. Salvestame siin Fibonacci seeria esimese ja teise numbri eelmises ja eelmises numbris (need on kaks muutujat) ja ka Fibonacci numbri salvestamiseks kasutame praegust numbrit.

Soovitatavad artiklid

See on Fibonacci sarja juhend C # -s. Siin käsitleme Fibonacci seeria loogikat erinevate meetoditega ja kuidas leida Fibonacci seeria n-ndat terminit. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. Fibonacci seeria C-s
  2. C # Koostajad
  3. C # käsud
  4. C # silmuse jaoks
  5. Fibonacci sarja C ++ juhend
  6. Fibonacci seeria JavaScriptis

Kategooria: