Hello, I’m working on this task:

Fibonacci numbers are characterized by the fact that every number after the first two is the sum of the two preceding ones: 1, 1, 2, 3, 5, 8… To get the next number, you must sum the two previous values; in this case, 8 + 5 = 13; thus, 13 is the next number in the sequence. The sequence always begins with 1, 1.
Write a method called “GetNextFibonacci” that takes two integers representing two sequential Fibonacci numbers and returns the next Fibonacci number. The Main method should read an int value n from the console, and then, using GetNextFibonacci, output the first n Fibonacci numbers each delimited by a single space. For the purpose of this program, assume that n will always be greater than 2 and less than or equal to 25. Here’s an example:
>10
1 1 2 3 5 8 13 21 34 55

Here is my code:

``````
namespace Methods
{
class Fibonacci
{
static void Main(string[] args)
{
int beforePrevious = 1;
Console.Write(\$"{beforePrevious} ");
int previous = 1;
Console.Write(\$"{previous} ");
for (int i = 0; i < (count - 2); i++)
{
GetNextFibonacci(beforePrevious, previous);
}
}
static int GetNextFibonacci(int beforePrevious, int previous)
{
int next = beforePrevious + previous;
Console.Write(\$"{next} ");
return beforePrevious = previous;
return previous = next;
}
}
}

``````

Ваше рішення потребує лише невеликої корекції, але давайте розберемось в основах.

1. Метод повертає лише одне значення. У вас же в коді, ви використали `return` двічі:
``````return beforePrevious = previous;
return previous = next;
``````
1. значення яке ви повертаєте через ключове слово `return`, ви не використовуєте:
`GetNextFibonacci(beforePrevious, previous);` - таким чином, ви весь час викликаєте його з одними й тими самими змінними.

2. Нажаль комп’ютер досить дурний) тому те, що вам зрозуміло як людині - зазвичай не зрозуміло комп’ютеру. Незважаючи на те, що змінні в різних методах можуть мати однакові назви - вони не одні й ті ж. Давайте трохи перепишемо ваш код, для того щоб стало трохи більш зрозуміло де помилка:

``````using System;

namespace Methods
{
class Fibonacci
{
static void Main(string[] args)
{
int beforePrevious = 1;
Console.Write(\$"{beforePrevious} ");
int previous = 1;
Console.Write(\$"{previous} ");
for (int i = 0; i < (count - 2); i++)
{
GetNextFibonacci(beforePrevious, previous);
}
}
static int GetNextFibonacci(int copyOfBeforePrevious, int copyOfPrevious)
{
int next = copyOfBeforePrevious + copyOfPrevious;
Console.Write(\$"{next} ");
return copyOfBeforePrevious = copyOfPrevious;
return copyOfPrevious = next;
}
}
}

``````

зверніть увагу, що метод `GetNextFibonacci(int copyOfBeforePrevious, int copyOfPrevious)` працює з КОПІЯМИ beforePrevious та previous. Таким чином, будь-яка модифікація “оригінальних” beforePrevious та previous в середині GetNextFibonacci буде ігноруватись