public static void Main()
Console.WriteLine("Enter number of sequencies to be generated:");
var text = Console.ReadLine();
if (!int.TryParse(text, out rank) || rank < 3)
Console.WriteLine("Number is <3 using default = 35");
var fib = GetFibonacci(rank);
var indexWidth = fib.Length.ToString().Length;
var valueWidth = Math.Max(9, fib[fib.Length - 1].ToString().Length);
Console.WriteLine("┏{0}┳{1}┓", new string ('━', indexWidth), new string ('━', valueWidth));
Console.WriteLine("┃{0}┃{1}┃", "n".PadLeft(indexWidth, ' '), "fibonnaci".ToString().PadLeft(valueWidth, ' '));
var rowSeparator = string.Format("┣{0}╋{1}┫", new string ('━', indexWidth), new string ('━', valueWidth));
for (var i = 0; i < fib.Length; i++)
Console.WriteLine(rowSeparator);
Console.WriteLine("┃{0}┃{1}┃", i.ToString().PadLeft(indexWidth, ' '), fib[i].ToString().PadLeft(valueWidth, ' '));
Console.WriteLine("┗{0}┻{1}┛", new string ('━', indexWidth), new string ('━', valueWidth));
public static int[] GetFibonacci(int length)
var result = new int[length + 1];
for (var i = 2; i <= length; i++)
result[i] = result[i - 2] + result[i - 1];