При запуске следующего кода я получаю отрицательные значения. Я использую только положительные числа, поэтому я в замешательстве. Я пытался выяснить, было ли это отрицательное число кодом возврата, но там, похоже, нет никаких кодов, которые возвращают это число.
public static int fib(int n)
{
int a = 0;
int b = 1;
for (int i = 0; i < n; i++)
{
int temp = a;
a = b;
b = temp + b;
}
return b;
}
static void Main(string[] args)
{
int n = 0;
bool Run = true;
while (Run == true)
{
n = fib(n + 1);
Console.WriteLine(n);
}
}
Вот результаты при выполнении кода:
1
2
3
5
13
610
-121099088
1