Проверить, является ли последовательность арифметической прогрессией - C (СИ)
Формулировка задачи:
Даны натуральное N и последовательность, состоящая из N целых чисел.
Определить, является ли данная последовательность арифметической прогрессией.
Если не является, то вывести номер первого числа, нарушающего закономерность и
модуль разности первого и последнего элементов последовательности.
Решение задачи: «Проверить, является ли последовательность арифметической прогрессией»
textual
Листинг программы
int first, second, third, i, n, arith; scanf("%d", &n); if (n>2){ scanf("%d%d", &first, &second); for (i=3, arith=1; i<=n && arith; ++i){ scanf("%d", &third); arith = (first+third == second<<1); first=second; second=third; } } printf("Not arithmetic"+(arith?4:0));
Объяснение кода листинга программы
- Объявлены переменные: first, second, third, i, n, arith;
- Программа запрашивает у пользователя ввод количества элементов последовательности (n);
- Если n больше 2, то программа запрашивает у пользователя ввод первых трех элементов последовательности (first, second, third);
- Затем программа в цикле проходит по всем элементам последовательности, начиная с третьего, и проверяет является ли последовательность арифметической прогрессией;
- Для проверки используется формула (first+third == second<<1);
- Если последовательность является арифметической прогрессией, то выводится сообщение
Arithmetic
, иначе выводится сообщениеNot arithmetic
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д