Fibonacci Series! These numbers are so cool!


Fibonacci series is a set of numbers, with the first being 0 and the second being 1, where each number of the rest of the series, is the arithmetic addition of the previous two numbers. Google search real-life applications for the Fibonacci series! You will be surprised that we do not just use it to add "Story Points" to our tickets! 

public static void IsSeriesFibonacci(int[] arr)
{
var isFibonacci = true;
var arrCount = arr.Length;

if (arrCount <= 2)
{
Console.WriteLine($"Is the series [{string.Join(',', arr)}] Fibonacci? Array too small");
return;
}

for (var i = 2; i < arrCount; i++)
{
if (arr[i] == arr[i - 1] + arr[i - 2]) continue;
isFibonacci = false;
break;
}

Console.WriteLine($"Is the series [{string.Join(',', arr)}] Fibonacci? {isFibonacci}");
}

public static void IsNumberFibonacci(int number)
{
var fib1 = 0;
var fib2 = 1;
var fib3 = 0;

while (fib3 < number)
{
fib3 = fib1 + fib2;
fib1 = fib2;
fib2 = fib3;
}

if (fib3 == number)
{
Console.WriteLine($"{number} is a Fibonacci number.");
}
else
{
Console.WriteLine($"{number} is not a Fibonacci number.");
}
}

public static void FindNthFibonacciNumber(int number)
{
var fib1 = 0;
var fib2 = 1;
var fib3 = 0;

switch (number)
{
case 0 : Console.WriteLine($"The Fibonacci starts with the number {fib1}");
return;
case 1 : Console.WriteLine($"The first Fibonacci number is {fib1}");
return;
case 2 : Console.WriteLine($"The second Fibonacci number is {fib2}");
return;
}

for (var i = 2; i <= number-1; i++)
{
fib3 = fib1 + fib2;
fib1 = fib2;
fib2 = fib3;
}

Console.WriteLine($"The {number}th Fibonacci number is {fib3}");
}

public static void FindFibonacciNumbersInRange(int start, int end)
{
var fibonacciNumbers = new List<int>();
var fib1 = 0;
var fib2 = 1;
var fib3 = 0;

fibonacciNumbers.Add(fib1);
fibonacciNumbers.Add(fib2);

while (fib3 <= end)
{
fib3 = fib1 + fib2;
fib1 = fib2;
fib2 = fib3;

       fibonacciNumbers.Add(fib3);
}

var results = fibonacciNumbers.Where(x => x >= start && x <= end);

Console.WriteLine($"Fibonacci numbers between {start} and {end}: {string.Join(", ", results)}");
}

public static void FindTheNFirstFibonacciNumbers(int firstN)
{
var fibonacciNumbers = new List<int>();
var fib1 = 0;
var fib2 = 1;
fibonacciNumbers.Add(fib1);
fibonacciNumbers.Add(fib2);

for (var i = 2; i < firstN; i++)
{
var fib3 = fib1 + fib2;
fibonacciNumbers.Add(fib3);
fib1 = fib2;
fib2 = fib3;
}

Console.WriteLine($"The first {firstN} Fibonacci numbers are: {string.Join(", ", fibonacciNumbers)}");
}

 

 


No files yet, migration hasn't completed yet!