В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000. Определите количество пар элементов последовательности, в которых хотя бы у одного из чисел сумма цифр троичной записи равна сумме цифр троичной записи максимального элемента последовательности, кратного 11. В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар, числа записывайте без пробелов и разделителей. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
def summ_three(number):
summ = 0
x = number
while x > 0:
summ += x % 3
x //= 3
return summ
file = open(’17.txt’)
arr = [int(_) for _ in file]
counter_pairs = 0
min_summ = 10 ** 10
max_elem_11 = -10 ** 10
for elem in arr:
if elem % 11 == 0:
max_elem_11 = max(max_elem_11, elem)
summ_three_max_elem_11 = summ_three(max_elem_11)
for index in range(len(arr) - 1):
if summ_three(arr[index]) == summ_three_max_elem_11
or summ_three(arr[index + 1]) == summ_three_max_elem_11:
counter_pairs += 1
min_summ = min(min_summ, arr[index] + arr[index + 1])
print(counter_pairs, min_summ, sep="")
Ответ: 28862085