Найдите все натуральные числа, \(N,\) принадлежащие отрезку \([150~000~000; \, 300~000~000],\) которые можно представить в виде \(N = 2^m \cdot 3^n,\) где \(m\) – нечётное число, \(n\) – чётное число. В ответе запишите все найденные числа в порядке возрастания, а справа от каждого числа – сумму \(m+n.\)
Решение:
Python
res = []
for m in range(1, 28, 2): # 2^28 > 300_000_000
for n in range(0, 18, 2): # 3^18 > 300_000_000
candidate = 2**m * 3**n
if 150_000_000 <= candidate <= 300_000_000:
res.append((candidate, m + n))
res.sort()
for n, s in res:
print(n, s)
Ответ:
\(153055008 \,\, 19\)
\(169869312 \,\, 25\)
\(214990848 \,\, 23\)
\(272097792 \,\, 21\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене