Untitled

Условие: Тип 17 № 37369

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

Для выполнения этого задания следует написать программу. Ссылка на файл, который необходимо обработать с помощью данного алгоритма.

Untitled

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

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

for i in range(len(M) - 1):
    for j in range(i + 1, len(M)):
        if (M[i] - M[j]) % 80 == 0:
            count += 1
            maxi = max(maxi, abs(M[i] - M[j]))
print(count, maxi)