Числа фибоначчи через массив - C#
Формулировка задачи:
Не удается мне построить простенькую программку которая выдает n-ое число фиброначчи. Никак не могу подобрать ограничение в цикле чтобы не выбегать за границы. Еще попробую индексаторы подключить, но по мне так это наверное не самый логичный и короткий вариант.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int n = Convert.ToInt32(Console.ReadLine()); decimal[] fib = new decimal[n]; decimal c; decimal a = 0; decimal b = 1; for (int j=0,i = 1, k = 2;(j < n)^ (i < n)^ (k < n) ;j+=3,i+=3,k+=3) { fib[j] = a; fib[i] = b; c = a + b; fib[k] = c; a = c + b; b = c + a; } Console.WriteLine(fib[n - 1]); Console.ReadKey(); } } }
Решение задачи: «Числа фибоначчи через массив»
textual
Листинг программы
private static long[] Fibonacci(int n) { if (n <= 0) return null; long[] a = new long[n]; a[0] = 0; a[1] = 1; for (int i = 2; i <= n; i++) a[i] = a[i-1] + a[i-2]; return a; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д