(Л. Шастин) В файле содержится последовательность целых чисел. Элементы последовательности могут принимать значения от \(0\) до \(10000\) включительно. Определите сначала количество пар, сумма элементов которых при переводе в систему счисления с основанием \(7\) образует число-палиндром, а затем наибольшую сумму-палиндром в семеричной системе счисления. Под парой чисел подразумевается два идущих подряд элемента последовательности.
Решение:
Python
def conv(n):
alph = '0123456'
ans = ''
while n:
ans = alph[n % 7] + ans
n //= 7
return ans
nums = [int(z) for z in open('4376.txt')]
q, max_sum = 0, 0
for p in zip(nums, nums[1:]):
s = sum(p)
s7 = conv(s)
if s7 == s7[::-1]:
q += 1
max_sum = max(max_sum, s)
print(q, conv(max_sum))
Ответ: \(243 \,\, 25552\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене