Алгоритм решения задания 15. Часть 2
Учимся решать 15 задания второго типа
Читать
Напишите программу, которая перебирает все целые шестизначные числа в порядке возрастания и ищет среди них те, которые не содержат в своей записи цифру 1 и которые можно представить в виде суммы нечётного натурального числа, делящегося без остатка на 103, и н натуральной степени числа 3.
В ответе в первом столбце таблицы запишите первые 5 найденных чисел в порядке возрастания, а во втором столбце – для каждого числа соответствующий показатель степени числа 3.
from math import log
cnt = 0
powers_of_3 = [3**x for x in range(1, int(log(1_000_000, 3)))]
for N in range(200_000, 1_000_000):
if "1" in str(N):
continue
for x, pow3 in enumerate(powers_of_3, start=1):
diff = N - pow3
if diff % 2 and diff % 103 == 0:
print(N, x)
# Для завершения программы после 5 выводов
cnt += 1
if cnt == 5:
exit() # выход из цикла
break
