Найти в Дзене

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

Автор: Л.Шастин
Уровень: Средний В файле содержится последовательность натуральных чисел, которые нумеруются, начиная с единицы. Определите количество пар элементов последовательности, сумма номеров которых оканчивается на ту же цифру, что и максимальный элемент последовательности. В ответе запишите количество найденных пар, затем минимальное значение среди модулей разностей суммы элементов и суммы номеров таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨‍💻 Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻  Вы найдете тут много полезного!
Оглавление

Автор: Л.Шастин
Уровень:
Средний

Условие задачи:

В файле содержится последовательность натуральных чисел, которые нумеруются, начиная с единицы. Определите количество пар элементов последовательности, сумма номеров которых оканчивается на ту же цифру, что и максимальный элемент последовательности. В ответе запишите количество найденных пар, затем минимальное значение среди модулей разностей суммы элементов и суммы номеров таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Код решения:

Ответ: 1000 811
Ответ: 1000 811

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

  1. M = [int(x) for x in open('0. files/17.txt')]
    Читаем файл '0. files/17.txt', преобразуем каждую строку в целое число и сохраняем в список M
  2. R = []
    Создаем пустой список R для хранения результатов
  3. for i in range(len(M)-1):
    Запускаем цикл по индексам элементов списка M, кроме последнего
  4. x, y = M[i], M[i+1]
    Получаем текущий элемент x и следующий элемент y из списка M
  5. i, j = i+1, i+2
    Вычисляем индексы i и j для проверки условия (увеличиваем на 1 и 2 соответственно)
  6. if (i + j) % 10 == max(M) % 10:
    Проверяем, равен ли остаток от деления суммы индексов i и j на 10 остатку от деления максимального элемента списка M на 10
  7. R.append(abs((x+y) - (i+j)))
    Если условие выполняется, добавляем в список R модуль разности между суммой элементов x и y и суммой индексов i и j
  8. print(len(R), min(R))
    Выводим количество элементов в списке R и минимальное значение из этого списка
Больше разборов на эту и другие задачи вы можете найти в нашем Телеграм канале: Информатика ЕГЭ | itpy 👨‍💻
Подписывайтесь на наш канал по теории Python: Азим вкатывается в IT | itpy 💻  Вы найдете тут много полезного!