Исправить код проверки последовательности Фибоначчи - C#

Узнай цену своей работы

Формулировка задачи:

Написал код, который вычисляет является ли последовательность числами Фибоначчи. Вроде и работает, но при вводе например

"3 5 8 и дальше не важно каких чисел"

выводит всё равно

"YES"

. Как исправить?
Листинг программы
  1. int n = int.Parse(Console.ReadLine());
  2. int[] a = new int[n];
  3. string[] mas = Console.ReadLine().Split(' ');
  4. for (int i = 0; i < n; i++)
  5. {
  6. a[i] = int.Parse(mas[i]);
  7. }
  8. for (int i = 0; i < n - 1; i++)
  9. for (int j = i + 1; j < n; j++)
  10. if (a[i] > a[j])
  11. {
  12. int b = a[i];
  13. a[i] = a[j];
  14. a[j] = b;
  15. }
  16. bool flag = false;
  17. for (int i = 2; i < n; i++)
  18. {
  19. if (a[i] == a[i - 1] + a[i - 2])
  20. {
  21. flag = true;
  22. }
  23. }
  24. if (flag == true)
  25. {
  26. Console.WriteLine("YES");
  27. }
  28. else
  29. {
  30. Console.WriteLine("NO");
  31. }

Решение задачи: «Исправить код проверки последовательности Фибоначчи»

textual
Листинг программы
  1. bool flag = true;
  2. for (int i = 2; i < n; i++)
  3. {
  4.     if (a[i] != a[i - 1] + a[i - 2])
  5.     {
  6.         flag = false;
  7.         break;
  8.     }
  9. }

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


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

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

14   голосов , оценка 4.071 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы