Напишите программу, которая ищет среди целых чисел, превышающих 20560, первые четыре числа, удовлетворяющих условию: количество делителей, кратных шести и не равных самому числу, равно трем.
В ответе запишите четыре пары чисел в порядке возрастания первых чисел в паре: число и максимальный делитель, кратный шести и не равный самому числу.
Формат ввода ответа: число1 его_макс_дел число2 его_макс_дел число3 его_макс_дел и тд.
c = 0
for i in range(20561, 30000):
ds = [] # cписок делителей кратных 6
for d in range(2, int(i**0.5)+1):
if i % d == 0:
if d % 6 == 0:
ds.append(d)
if (i//d) % 6 == 0:
ds.append(i//d)
if len(ds) > 3: # для оптимизации выходим из функции если таких делителей больше 3 - такие числа нам не подходят
break
if len(ds) == 3:
c += 1
print(i, max(ds))
if c == 4:
break
Ответ: 20562 894 20586 438 20622 2946 20634 1086