*(Д. Статный) Среди натуральных чисел, не превышающих \(10^9,\) найдите все числа, у которых первые две и последние две цифры одинаковые (как, например, у числа 1123411 – все четыре выделенные цифры одинаковые) и которые имеют ровно \(117\) делителей. Справа от каждого числа укажите его максимальный делитель, отличный от самого числа.
Решение:
Так как \(117 = 13 \cdot 9 = 13 \cdot 3 \cdot 3,\) то числа, у которых ровно \(117\) делителей имеют вид либо \(a^{12} \cdot b^{8},\) любо \(a^{12} \cdot b^2 \cdot c^2,\) где \(a, \, b\) и \(c\) — различные простые числа. Но , \(2^{12} \cdot 3^{8} > 10^9.\) Поэтому, числа, удовлетворяющие условию задания, имеют вид \(a^{12} \cdot b^2 \cdot c^2.\)
Python
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
res = []
for a in (2, 3, 5, 7):
pr = [x for x in primes if x != a]
for i in range(len(pr) - 1):
for j in range(i + 1, len(pr)):
cand = a**12 * pr[i]**2 * pr[j]**2
if cand < 10**9:
s = str(cand)
if s[0] == s[1] and s[:2] == s[-2:]:
res.append((cand, cand // min(a, pr[i], pr[j])))
res.sort()
for n, d in res:
print(n, d)
Ответ: \(4460544 \,\, 2230272\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене