Цель: понять, как найти все делители числа с помощью простого цикла (range или while).
Алгоритм (общий смысл):
- Берём положительную часть числа n (часто считают делители натурального числа).
- Перебираем все числа i от 1 до n.
- Если n делится на i без остатка (n % i == 0), то i — делитель.
Сложность: время O(n), память O(1) (кроме вывода).
Вариант 1. Через range (самый простой и короткий) n = int(input("Введите число: ")) for i in range(1, n + 1): if n % i == 0: print(i)
Вариант 2. Через while (тоже простой) n = int(input("Введите число: ")) i = 1 while i <= n: if n % i == 0: print(i) i += 1
Пример работы: Введите число: 12 1 2 3 4 6 12
Советы:
- Если нужно обрабатывать только положительные делители натурального числа, достаточно так и делать.
- Вводите положительное число. Для отрицательных можно взять abs(n) и выводить соответствующие делители, но это усложняет задачу. Для средней школы обычно считают делители натурального числа.