Задача к ЕГЭ по информатике на тему «делители числа» №11

Напишите программу, которая выведет все общие делители чисел 230010 и 600270.

def divs(n):
    div = []  # Массив делителей
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            div.append(i)
            if i != n // i:
                div.append(n // i)
    return div


a = 230010 # первое число
b = 600270 # первое число
ans = [] # список общих делителей
ad = divs(a) # делители первого числа
bd = divs(b) # делители второго числа
for i in ad: # проход по делителям первого числа
    if i in bd: # если такой делитель есть среди делителей второго числа
        ans.append(i) # добавляем в список
print(*ans)

Ответ: 2 3 5 6 10 11 15 17 22 30 33 34 5610 51 55 66 2805 85 102 110 1870 165 170 187 1122 935 255 330 374 561 510
Оцените статью
Я решу все!