Найдите все натуральные числа, \(N,\) принадлежащие отрезку \([150~000~000; \, 300~000~000],\) которые можно представить в виде \(N =2^m \cdot 3^n,\) где \(m\) – чётное число, \(n\) – нечётное число. В ответе запишите все найденные числа в порядке возрастания, а справа от каждого числа – сумму \(m+n.\)
Решение:
Python
res = []
for m in range(0, 28, 2): # 2^28 > 300_000_000
for n in range(1, 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)
Ответ:
\(181398528 \,\, 21\)
\(201326592 \,\, 27\)
\(229582512 \,\, 19\)
\(254803968 \,\, 25\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене