Для решения данной задачи нам потребуется программа, которая будет проверять, является ли введенное число N совершенным. Совершенное число — это число, равное сумме всех своих собственных делителей (делителей, меньших этого числа).
Программа должна выполнить следующие шаги:
- Ввести натуральное число N.
- Найти все делители числа N, которые меньше самого числа.
- Вычислить сумму этих делителей.
- Сравнить сумму делителей с самим числом N.
- Вывести результат проверки.
Рассмотрим пример реализации данной программы на языке Python:
def is_perfect_number(n):
# Инициализируем переменную для хранения суммы делителей
sum_of_divisors = 0
# Проходим по всем числам от 1 до n-1
for i in range(1, n):
if n % i == 0:
sum_of_divisors += i
# Проверяем, равна ли сумма делителей самому числу
return sum_of_divisors == n
# Считываем натуральное число N
N = int(input("Введите натуральное число: "))
# Проверяем, является ли N совершенным числом
if is_perfect_number(N):
print(f"Число {N} является совершенным.")
else:
print(f"Число {N} не является совершенным.")
Подробное описание программы:
Функция is_perfect_number(n)
:
- Параметр: принимает натуральное число
n
.
- Переменная
sum_of_divisors
: используется для хранения суммы делителей числа n
.
- Цикл
for
: перебирает все числа от 1
до n-1
. Для каждого числа i
, если n
делится на i
без остатка (то есть n % i == 0
), то i
добавляется к сумме делителей.
- Возврат значения: функция возвращает
True
, если сумма делителей равна n
, и False
в противном случае.
Основной блок кода:
- Ввод числа
N
: с помощью функции input()
пользователь вводит натуральное число.
- Проверка числа: вызывается функция
is_perfect_number()
с аргументом N
. Если функция возвращает True
, программа выводит сообщение, что число является совершенным. В противном случае выводится сообщение, что число не является совершенным.
Пример работы программы:
Введите натуральное число: 6
Число 6 является совершенным.
Еще один пример:
Введите натуральное число: 10
Число 10 не является совершенным.
Таким образом, программа корректно определяет, является ли введенное число совершенным, и выводит соответствующее сообщение.