Столкнулся с проблемой при обучении, как создать число Фибоначчи N 0,1,1,2,3,5,8.... в массиве с циклом While

while- реализовать задачу используя массыв и методы

  • int[] GetFibonacciWithWhile(int number)

код :

class Program
{
    static uint[] GetFibonacciWithWhile(uint n)
    {
        uint[] arr = new uint[n];
        n = 1;
        arr[0] = 0; 
        arr[1] = 1;
        arr[2] = 1;           
        
        while (n > 1)
        {
            n++;
            arr[n] = arr[1] + arr[2];
        }
        return arr;
    }
    public static void Main(string[] args)
    {
        Console.Write("F = ");
        var n = Convert.ToUInt32(Console.ReadLine());
        Console.WriteLine($"{n} числа последовательности Фибоначчи");
        Console.WriteLine(string.Join(" ", GetFibonacciWithWhile(n)));
        GetFibonacciWithWhile(n);
    }
}

Ответы (1 шт):

Автор решения: Aziz Umarov

Ответ прост как и вопрос. Функция фибоначи

  1. Рекурсия. Если N = 1 тогда верните 1 иначе если N < 1 верните 0 иначе фибоначи для предыдушего N плюс фибоначи за педыдушего предыдещего N
  2. Цикл. Идея другая, но результат тот же

Удачи.

Я вижу был добавлен код. исправьте тут.

for (i = 2 ; i < n ; i++)
{
 arr[i] = arr[i-1] + arr[i-2];
}

и не используйте переменную переданную в ф-и

→ Ссылка