Увод у Фибонаццијеве серије у Ц #

Серија Фибонацције у Ц # у Фибонаццијевој серији једна је од познатих серија секвенце. Низ је 0, 1, 1, 2, 3, 5, 8…. Фибонаццијева серија почиње од нуле и једног, а наредни број је збир два претходна броја. Говорило се да је серија Фибонацције коју је створио господин Леонардо Писано Биголло у 13. веку. Фибонаццијева серија корисна је за неке сценарије. У основи је првобитно кориштен за решавање проблема са кунићем тј. Број зечева рођених из пара. Постоје и други проблеми у којима је Фибонаццијев низ користан.

Логика Фибонаццијеве серије

Као и у Фибонаццијевом низу, број је збир његових два претходна броја. Дакле, ако имамо Фибонаццијев низ рецимо 0, 1, 1, 2, 3, 5, 8, 13, 21 … Према овом би наредни број био зброј његових претходних два попут 13 и 21. Дакле, следећи број је 13 + 21 = 34.

Ево логике за генерисање Фибонаццијевих серија

Ф (н) = Ф (н-1) + Ф (н-2)

Где је Ф (н) термин терм и Ф (н-1) + Ф (н-2) је збир претходних вредности.

Дакле, ако имамо серије 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89…

Према логици Ф (н) = Ф (н-1) + Ф (н-2)

Ф (н) = 55 + 89

Ф (н) = 144

Следећи мандат би био 144.

Разне методе креирања Фибонаццијевих серија

Фибонаццијева серија може се генерисати на више начина

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
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. Рекурзивна метода

Ово је још један начин решавања овог проблема.

Метод 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();
)
)
)

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

Излаз:

3. Фибонацције помоћу Арраи-а

Шифра:

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

Излаз:

Како пронаћи Н-ти термин Фибонаццијеве серије?

Следе методе

Метод 1

Шифра:

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

Горњи код је проналажење н-ог појма у Фибонаццијевом низу. На пример, ако желимо да нађемо 12. термин у низу, резултат би био 89.

2. метод

(О (Лог т) Време).

Постоји још једна формула понављања која се може користити за проналажење Фи'бонациовог броја Ако је т чак и тада = т / 2:

Ф (т) = (2 * Ф (к-1) + Ф (к)) * Ф (к)

Ако је т непаран, тада је к = (т + 1) / 2

Ф (т) = Ф (к) * Ф (к) + Ф (к-1) * Ф (к-1)

Фибонаццијева матрица

Након што добијемо одредницу, добићемо (-1) т = Фт + 1Фт-1 - Фт2

ФмФт + Фм-1Фт-1 = Фм + т-1

Стављањем т = т + 1,

ФмФт + 1 + Фм-1Фт = Фм + т

Стављање м = т

Ф2т-1 = Фт2 + Фт-12

Ф2т = (Фт-1 + Фт + 1) Фт = (2Фт-1 + Фт) Фт

Да бисмо добили формулу, урадићемо следеће

Ако је т паран, ставите к = т / 2

Ако је т непаран, ставите к = (т + 1) / 2

Дакле, сортирањем ових бројева можемо спречити стално коришћење меморијског простора СТАЦК. Даје временску сложеност О (н). Рекурзивни алгоритам је мање ефикасан.

Шифра:

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

Сада када се горњи алгоритам покреће за н = 4

фн (4)

ф (3) ф (2)

ф (2) ф (1) ф (1) ф (0)

ф (1) ф (0)

Дакле, то је дрво. За израчунавање ф (4) морамо израчунати ф (3) и ф (2) итд. За малу вредност 4, ф (2) се израчунава два пута, а ф (1) се израчунава три пута. Овај број додатака ће расти за велики број.

Постоји претпоставка да је број додавања потребан за израчунавање ф (н) ф (н + 1) -1.

Закључак

Овде се увек препоручује метода итерације јер има бржи приступ за решавање ове врсте проблема. Овде чувамо први и други број Фибонаццијевих серија у претходном броју и претходном броју (то су две променљиве), а такође користимо и тренутни број за смештање Фибонаццијевог броја.

Препоручени чланци

Ово је водич за Фибонаццијеве серије у Ц #. Овде смо расправљали о логици Фибонаццијеве серије са различитим методама и како пронаћи н-ти термин Фибонаццијеве серије. Можете и да прођете кроз наше друге сродне чланке да бисте сазнали више -

  1. Фибонаццијева серија у Ц
  2. Ц # компајлери
  3. Ц # команде
  4. Ц # За петљу
  5. Водич за Фибонаццијеве серије у Ц ++
  6. Серија Фибонацције у ЈаваСцрипт-у

Категорија: