Исправить код проверки последовательности Фибоначчи - 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;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы