Найти в Дзене

Разбор номера 5672 ЕГЭ по информатике #17

Оглавление

Условие: № 5672 Вариант 09.01.23
(Уровень: Базовый)

(М. Ишимов) В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 10 000 включительно. Определите количество пар последовательности, в которых оба числа не меньше всех чисел последовательности, которые кратны 73. Гарантируется, что такой элемент в последовательности есть. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Файлы к заданию: 17.txt

-2
M = [int(i) for i in open('17.txt')]
A = [i for i in M if i % 73 == 0 and i > 0]
count = 0
maxi = 0
for i in range(0, len(M)-1):
if all(M[i] >= x for x in A) and all(M[i+1] >= x for x in A):
count += 1
maxi = max(maxi, M[i] + M[i+1])
print(count, maxi)

Комментарии к коду программы:

  1. M = [int(i) for i in open('17.txt')] - Открываем файл 17.txt, читаем его содержимое, и преобразуем каждую строку в целое число
  2. A = [i for i in M if i % 73 == 0 and i > 0] - Создаем список A, который содержит все элементы списка M, которые кратны 73 и больше 0 (иначе 0 % 73 == 0, что для нас неприемлемо)
  3. count = 0 - Создаем переменную count, которая будет хранить кол-во подходящих строк
  4. maxi = 0 - Создаем переменную maxi, которая будет хранить максимальную сумму элементов пары
  5. for i in range(0, len(M)-1): - Используем цикл for, чтобы перебрать все элементы списка M, кроме последнего элемента (чтобы не выйти из диапазона из-за i+1)
  6. if all(M[i] >= x for x in A) and all(M[i+1] >= x for x in A): - Проверяем, каждый элемент в списке A, должен быть меньше или равен M[i] и M[i+1]
  7. count += 1 - Увеличиваем переменную count на 1, если условие истинно
  8. maxi = max(maxi, M[i] + M[i+1]) - Находим максимальное значение суммы M[i] + M[i+1] с помощью функции max(), перезаписываем ее саму в себя
  9. print(count, maxi) - Выводим результат на экран – переменные count и maxi

Ответ: 161 19678

Информатика ЕГЭ | itpy 👨‍💻

Присоединяйтесь и готовьтесь вместе с нами: https://t.me/+SIliQTddHE8xNTk6
Присоединяйтесь и готовьтесь вместе с нами: https://t.me/+SIliQTddHE8xNTk6