Файл содержит последовательность целых чисел, по модулю не превышающих 10 000. Назовём парой два идущих подряд элемента последовательности.
Определите количество таких пар, в которых запись ровно одного элемента заканчивается
Ответ:
Решим в два прохода. В первом проходе найдём наименьший из элементов последовательности, запись которых заканчивается
Приведём решение на языке Python.
count = m = 0
f = open('17.txt')
l = [int(i) for i in f]
min_sp = 0
for i in range(len(l)):
if abs(l[i]) % 10 == 7:
min_sp = min(min_sp, l[i])
for i in range(len(l) - 1):
if ((abs(l[i])%10==7 and (abs(l[i+1]))%10!=7) or ((abs(l[i]))%10!=7 and abs((l[i+1]))%10==7)) and ((l[i]**2+l[i+1]**2) < min_sp**2):
count += 1
m = max(m, (l[i] **2 + l[i+1] **2))
print(count, m)
В результате работы данного алгоритма при вводе данных из файла ответ —
Ответ: 671 и 96731834.
Примечание.
Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.

