В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -100 000 до 100 000 включительно. Определите количество пар элементов последовательности, в которых только один из двух элементов оканчивается на 21 и является пятизначным числом, а сумма квадратов элементов пары не меньше квадрата максимального элемента последовательности, оканчивающегося на 21 и являющегося пятизначным числом. В ответе запишите количество найденных пар чисел, затем максимальную из сумм элементов таких пap.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение:
Решение на Python:
otv = []
a = [int(i) for i in open('files/9')]
mx21 = max(i for i in a if abs(i) % 100 == 21 and 10000 <= abs(i) <= 99999)
for i in range(len(a) - 1):
if ((abs(a[i]) % 100 == 21) and (10000 <= abs(a[i]) <= 99999)) + ((abs(a[i+1]) % 100 == 21) and (10000 <= abs(a[i+1]) <= 99999)) == 1:
if (a[i] ** 2 + a[i+1] ** 2) > mx21**2:
otv.append(a[i] + a[i + 1])
print(len(otv), max(otv))
Ответ: 74 103365
Ответ: