Чтобы определить совершенные числа в заданном диапазоне от 1 до N с использованием Python, нам нужно сначала понять, что совершенное число — это такое натуральное число, сумма его делителей (кроме самого числа) равна самому числу.
Стратегия заключается в следующем:
- Для каждого числа от 2 до N (поскольку 1 не является совершенным числом) вычислить сумму его делителей.
- Проверить, равно ли это число сумме его делителей.
- Если равно, напечатать это число.
Вот пример кода, который выполняет эту задачу:
def is_perfect(num):
# Функция для проверки, является ли число совершенным
sum_divisors = 0
for i in range(1, num):
if num % i == 0: # Если i является делителем
sum_divisors += i
return sum_divisors == num
N = int(input("Введите натуральное число N: ")) # Запрашиваем у пользователя значение N
print(f"Совершенные числа от 1 до {N}:")
for i in range(2, N + 1):
if is_perfect(i): # Проверяем, является ли число совершенным
print(i) # Печатаем совершенное число
Пояснение кода:
Функция
is_perfect(num)определяет, является ли переданное число совершенным. Она проходит через все числа от 1 доnum - 1и складывает те, которые являются делителямиnum.Пользователю предлагается ввести значение N.
Программа перебирает все числа от 2 до N и проверяет, является ли каждое из них совершенным с помощью функции
is_perfect(). Если число совершенное, оно выводится на экран.
Этот код поможет найти совершенные числа в заданном диапазоне. Удачи в учебе!