Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Среди натуральных чисел, не превышающих \(2 \cdot 10^9,\) найдите все числа, соответствующие маске \(1{*}586{?}6,\) запись которых в системе счисления с основанием \(7\) представляет собой палиндром (не меняется при перестановке цифр в обратном порядке). В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — суммы цифр их семеричной записи.
Решение:
Python
def conv(n):
alph = '0123456'
ans = ''
while n:
ans = alph[n % 7] + ans
n //= 7
return ans
for p in range(5):
for x in range(10**p):
for y in range(10):
n = 1 * 10**(5 + p) + x * 10**5 + 586 * 100 + y * 10 + 6
n7 = conv(n)
if n7 == n7[::-1]:
print(n, sum(int(z) for z in n7))
Ответ:
\(18958656 \,\, 12\)
\(1939958656 \,\, 40\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене