/
Вопросы и ответы
/
Python
/

Как найти делители числа с помощью функции в Python?

Как найти делители числа с помощью функции в Python?

4 года назад

Andrey Moshkov

Ответы

0

Функция для нахождения делителей целого положительного числа:

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]

3 года назад

Карина Абдуллаева

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845