Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
Среди натуральных чисел, не превышающих \(10^9,\) найдите все числа, соответствующие маске \(3{?}458{*}3,\) у которых в девятеричной записи цифры идут в порядке невозрастания. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — суммы цифр их девятеричной записи.
Решение:
Python
def conv(n):
alph = '012345678'
ans = ''
while n:
ans = alph[n % 9] + ans
n //= 9
return ans
for p in range(4):
for x in range(10):
for y in range(10**p):
n = (((3 * 10 + x) * 1000 + 458) * 10**p + y) * 10 + 3
n9 = conv(n)
if all(a >= b for a, b in zip(n9, n9[1:])):
print(n, sum(int(z) for z in n9))
Ответ:
\(39458583 \,\, 15\)
\(39458673 \,\, 17\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене