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