Uvod u Fibonaccijeve serije u C #

Fibonaccijeva serija u C # u Fibonaccijevoj seriji jedna je od poznatih serija sekvence. Slijed je 0, 1, 1, 2, 3, 5, 8…. Fibonacijev niz počinje od nule, a jedan, a sljedeći broj zbroj je dvaju prethodnih brojeva. Govorilo se da je Fibonaccijeva serija koju je stvorio gospodin Leonnardo Pisano Bigollo u 13. stoljeću. Fibonaccijeva serija korisna je za neke scenarije. U osnovi se prvotno koristio za rješavanje problema s kunićem tj. Broj zečeva rođenih iz para. Postoje i drugi problemi u kojima je Fibonaccijev niz koristan.

Logika Fibonaccijeve serije

Kao i u Fibonaccijevom nizu, broj je zbroj njegova dva prethodna broja. Dakle, ako imamo Fibonaccijev niz recimo 0, 1, 1, 2, 3, 5, 8, 13, 21 … Prema ovom bi sljedećem broju bio zbroj njegovih prethodnih dva poput 13 i 21. Dakle, sljedeći broj je 13 + 21 = 34.

Evo logike za generiranje Fibonaccijevih serija

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

Gdje je F (n) termin broj i F (n-1) + F (n-2) zbroj prethodnih vrijednosti.

Dakle, ako imamo serije 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 …

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

F (n) = 55 + 89

F (n) = 144

Sljedeći bi mandat bio 144.

Razne metode stvaranja Fibonaccijevih serija

Fibonaccijeva serija može se generirati na više načina

1. Iterativni pristup

Na ovaj je način najlakši način stvaranja serija.

Kodirati:

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. Rekurzivna metoda

Ovo je još jedna metoda za rješavanje ovog problema.

1. metoda

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. metoda

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

Izlaz:

3. Fibonaccije pomoću Array

Kodirati:

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

Izlaz:

Kako pronaći N-ti pojam Fibonaccijeve serije?

Slijede metode

1. metoda

Kodirati:

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

Gornji kôd je pronaći n-ti pojam u Fibonaccijevom nizu. Na primjer, ako želimo pronaći 12. pojam u nizu, rezultat bi bio 89.

2. metoda

(O (Log t) Vrijeme).

Postoji još jedna formula ponavljanja koja se može koristiti za pronalaženje Fi'bocesovog broja Ako je t čak i tada = t / 2:

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

Ako je t neparan, tada je k = (t + 1) / 2

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

Fibonaccijeva matrica

Nakon dobivanja odrednice, dobit ćemo (-1) t = Ft + 1Ft-1 - Ft2

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

Stavljanjem t = t + 1,

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

Stavljanje m = t

F2t-1 = Ft2 + Ft-12

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

Da bismo dobili formulu, učinit ćemo sljedeće

Ako je t paran, stavite k = t / 2

Ako je t neparan, stavite k = (t + 1) / 2

Dakle, sortiranjem ovih brojeva možemo spriječiti stalno korištenje memorijskog prostora STACK. Daje vremensku složenost O (n). Rekurzivni algoritam je manje učinkovit.

Kodirati:

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

Sad kad se gornji algoritam pokreće za n = 4

fn (4)

f (3) f (2)

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

f (1) f (0)

Dakle, to je drvo. Za izračunavanje f (4) moramo izračunati f (3) i f (2) i tako dalje. Za malu vrijednost 4, f (2) se izračunava dvaput, a f (1) se izračunava tri puta. Taj će broj dodataka rasti za veliki broj.

Postoji pretpostavka da je broj dodavanja potreban za izračunavanje f (n) f (n + 1) -1.

Zaključak

Ovdje se uvijek preferira metoda iteracije jer ima brži pristup za rješavanje ove vrste problema. Ovdje spremamo prvi i drugi broj Fibonaccijevih serija u prethodnom broju i prethodnom broju (to su dvije varijable), a također koristimo trenutni broj za spremanje Fibonaccijevog broja.

Preporučeni članci

Ovo je vodič za Fibonaccijeve serije u C #. Ovdje ćemo raspravljati o logici Fibonaccijeve serije s različitim metodama i kako pronaći n-ti pojam Fibonaccijeve serije. Možete i proći kroz naše druge povezane članke da biste saznali više -

  1. Fibonaccijeva serija u C
  2. C # sastavljači
  3. C # naredbe
  4. C # Za petlju
  5. Vodič za Fibonaccijeve serije u C ++
  6. Serija Fibonaccije u JavaScript

Kategorija: