С клавиатуры вводится целое число K (K<=5). Найти и вывести на экран первые К совершенных числа. Совершенное число -- натурально число, равное сумме всех своих собственных делителей (т. е. всех положительных делителей, отличных от самого числа).
def find_divisors(num): divisors = [] for i in range(1, num): if num % i == 0: divisors.append(i) return divisors def is_perfect_number(num): divisors = find_divisors(num) if sum(divisors) == num: return True return False K = int(input("Введите целое число K: ")) count = 0 num = 1 while count < K: if is_perfect_number(num): print(num) count += 1 num += 1
Этот код сначала определяет функцию find_divisors, которая находит все делители числа, кроме самого числа. Затем определяется функция is_perfect_number, которая проверяет, является ли число совершенным.
Затем программа запрашивает у пользователя значение K и использует цикл while для поиска первых K совершенных чисел. Как только число совершенно, оно выводится на экран.
Пример кода на Python:
def find_divisors(num):divisors = []
for i in range(1, num):
if num % i == 0:
divisors.append(i)
return divisors
def is_perfect_number(num):
divisors = find_divisors(num)
if sum(divisors) == num:
return True
return False
K = int(input("Введите целое число K: "))
count = 0
num = 1
while count < K:
if is_perfect_number(num):
print(num)
count += 1
num += 1
Этот код сначала определяет функцию find_divisors, которая находит все делители числа, кроме самого числа. Затем определяется функция is_perfect_number, которая проверяет, является ли число совершенным.
Затем программа запрашивает у пользователя значение K и использует цикл while для поиска первых K совершенных чисел. Как только число совершенно, оно выводится на экран.