Добавить в корзинуПозвонить
Найти в Дзене

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

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

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

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

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

В ответе запишите количество найденных пар, затем минимальное значение среди модулей разностей суммы элементов и суммы номеров таких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Теоретическая справка:

Мне эта задача очень понравилась, так как присутствует условие про номера элементов последовательности. Реализовать это не сложно, как оказалось, зато какая красота получилась! Обратите внимание, что происходит смещение по индексу на +1 элемент*

Код решения:

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

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

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