Найти максимальный элемент последовательности среди тех элементов, порядковый номер которого делится на 3 - PascalABC.NET
Формулировка задачи:
Ввести с клавиатуры последовательность из n целых чисел. Найти максимальный элемент
этой последовательности среди тех элементов, порядковый номер которого делится на 3.
Решение задачи: «Найти максимальный элемент последовательности среди тех элементов, порядковый номер которого делится на 3»
textual
Листинг программы
uses System.Linq; begin writeln('Max = ', Enumerable.Range(0, integer.MaxValue - 1).Select(i -> ReadlnInteger()).TakeWhile(i -> i <> 0). Where((v, i) -> Succ(i) mod 3 = 0).DefaultIfEmpty(-1).Max() ); end.
Объяснение кода листинга программы
В данном коде на языке PascalABC.Net реализуется следующая задача: необходимо найти максимальный элемент последовательности, причем только среди тех элементов, порядковый номер которых делится на 3. Вот что делает код:
Enumerable.Range(0, integer.MaxValue - 1)
- создает последовательность чисел от 0 доinteger.MaxValue - 1
(поскольку индексация в Паскале начинается с 0).Select(i -> ReadlnInteger())
- преобразует каждый элемент последовательности в целое число, используя функциюReadlnInteger()
. Это значит, что программа будет запрашивать ввод числа с клавиатуры для каждого элемента последовательности.TakeWhile(i -> i <> 0)
- из полученной последовательности удаляет все элементы, равные 0. Таким образом, в последовательности остаются только ненулевые числа.Where((v, i) -> Succ(i) mod 3 = 0)
- фильтрует полученную последовательность, оставляя только те элементы, порядковый номер которых делится на 3.DefaultIfEmpty(-1)
- добавляет в конец последовательности значение -1, если в предыдущем шаге не было найдено ни одного элемента, удовлетворяющего условию.Max()
- находит максимальный элемент в полученной последовательности.writeln('Max = ', value)
- выводит на экран значение максимального элемента. Обратите внимание, что в данном коде используется функцияReadlnInteger()
, которая запрашивает ввод числа с клавиатуры. Поэтому при запуске программы вам будет необходимо вводить числа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д