Исправить код проверки последовательности Фибоначчи - C#
Формулировка задачи:
Написал код, который вычисляет является ли последовательность числами Фибоначчи.
Вроде и работает, но при вводе например
"3 5 8 и дальше не важно каких чисел"
выводит всё равно"YES"
. Как исправить?int n = int.Parse(Console.ReadLine());
int[] a = new int[n];
string[] mas = Console.ReadLine().Split(' ');
for (int i = 0; i < n; i++)
{
a[i] = int.Parse(mas[i]);
}
for (int i = 0; i < n - 1; i++)
for (int j = i + 1; j < n; j++)
if (a[i] > a[j])
{
int b = a[i];
a[i] = a[j];
a[j] = b;
}
bool flag = false;
for (int i = 2; i < n; i++)
{
if (a[i] == a[i - 1] + a[i - 2])
{
flag = true;
}
}
if (flag == true)
{
Console.WriteLine("YES");
}
else
{
Console.WriteLine("NO");
}Решение задачи: «Исправить код проверки последовательности Фибоначчи»
textual
Листинг программы
bool flag = true;
for (int i = 2; i < n; i++)
{
if (a[i] != a[i - 1] + a[i - 2])
{
flag = false;
break;
}
}