Исправить код проверки последовательности Фибоначчи - 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д