Как найти делители числа с помощью функции в Python?
Ответы
Карина Абдуллаева
16 ноября 2022
Функция для нахождения делителей целого положительного числа:
def get_divisors(number):
# Чтобы делители в списке не повторялись, собираем их в множество.
result = {1, number}
# Перебираем диапазон до number // 2, потому что единственный делитель
# больше половины числа - это само число, его мы уже включили в результат.
# Чтобы половина тоже вошла в диапазон, добавляем к ней 1.
for divisor in range(2, number // 2 + 1):
if number % divisor == 0:
result.add(divisor)
# функция sorted() сортирует делители по возрастанию и возвращает результат в виде списка
return sorted(result)
get_divisors(1) # [1]
get_divisors(2) # [1, 2]
get_divisors(11) # [1, 11]
get_divisors(33) # [1, 3, 11, 33]
get_divisors(64) # [1, 2, 4, 8, 16, 32, 64]
0
0