🔍 Как найти совершенные числа в Питоне: подробный гайд и примеры кода 🐍
Совершенные числа - это числа, равные сумме своих делителей (не считая само число). Для нахождения совершенных чисел в Питоне, вы можете использовать следующий код:
num = int(input("Введите число: "))
def совершенные_числа(num):
sum_of_divisors = 0
for i in range(1, num):
if num % i == 0:
sum_of_divisors += i
return sum_of_divisors == num
if совершенные_числа(num):
print(f"{num} является совершенным числом.")
else:
print(f"{num} не является совершенным числом.")
Просто введите число и код проверит, является ли оно совершенным числом или нет. Если это истина, то будет выведено сообщение "число является совершенным". В противном случае будет выведено сообщение "число не является совершенным".
Детальный ответ
Как найти совершенные числа в питоне
Совершенные числа - это такие числа, сумма делителей которых (кроме самого числа) равна самому числу. Для того чтобы найти совершенные числа в питоне, мы можем использовать следующий алгоритм:
- Задаем верхнюю границу, до которой будем искать совершенные числа. Предположим, что нам нужно найти все совершенные числа до 10000. Давайте назовем эту границу "limit".
- Создаем пустой список для хранения найденных совершенных чисел. Назовем его "perfect_numbers".
- Проходимся в цикле от 1 до limit и для каждого числа проверяем, является ли оно совершенным.
- Для проверки, реализуем функцию "is_perfect_number", которая будет принимать число и возвращать True, если оно совершенное, и False в противном случае.
- Внутри функции "is_perfect_number" мы должны пройтись по всем числам от 1 до числа-1 и проверить, делится ли оно без остатка на каждое из этих чисел. Если делится, то мы добавляем это число к сумме.
- Если сумма делителей равна числу, то возвращаем True из функции "is_perfect_number". Иначе, возвращаем False.
- В основном цикле, если число совершенное, то мы добавляем его в список "perfect_numbers".
- По окончании цикла, мы выводим список "perfect_numbers", который содержит все найденные совершенные числа.
Вот пример реализации кода:
def is_perfect_number(num):
sum_of_divisors = 0
for i in range(1, num):
if num % i == 0:
sum_of_divisors += i
return sum_of_divisors == num
limit = 10000
perfect_numbers = []
for num in range(1, limit):
if is_perfect_number(num):
perfect_numbers.append(num)
print("Совершенные числа до", limit, ":", perfect_numbers)
В данном примере мы задали верхнюю границу поиска совершенных чисел равной 10000. Затем мы проходимся по каждому числу от 1 до 9999 и проверяем, является ли оно совершенным с помощью функции "is_perfect_number". Если число является совершенным, мы добавляем его в список "perfect_numbers". По окончании цикла, выводим список найденных совершенных чисел.
Теперь вы знаете, как найти совершенные числа в питоне. Этот алгоритм может быть использован для поиска совершенных чисел в любом заданном диапазоне. Попробуйте изменить верхнюю границу или запустить код для поиска совершенных чисел в другом диапазоне.