(С.О. Куров) Среди целых чисел, принадлежащих числовому отрезку \([1000000; \, 1300000],\) найдите числа, у которых все цифры меньше тройки, а сумма цифр кратна десяти. Среди всех таких чисел необходимо отобрать каждое десятое (10-е, 20-е, 30-е и т.д.). Расположите найденные числа в порядке возрастания, справа от каждого числа укажите количество его собственных делителей (не равных \(1\) и самому числу).
Решение:
Python
i = 0
for x in range(1000000, 1300001):
if not all(int(z) < 3 for z in str(x)) or \
sum(int(z) for z in str(x)) % 10:
continue
i += 1
if i % 10 == 0:
divs = {d for i in range(2, int(x**0.5) + 1) if x % i == 0
for d in (i, x // i)}
print(x, len(divs))
Ответ:
\(1112221 \,\, 2\)
\(1122220 \,\, 22\)
\(1212112 \,\, 38\)
\(1221121 \,\, 6\)
\(1222210 \,\, 30\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене