ПОМОГИТЕ ПОЖАЛУЙСТА
Совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число 6=1+2+3). Напишите программу, которая вводит натуральное число N и определяет, является ли число N совершенным.
Входные данные
Входная строка содержит натуральное число N .
Выходные данные
Если число N – совершенное, программа должна вывести в одну строчку через пробел все делители этого числа, меньшие N . Если число несовершенное, программа должна вывести 0.
Примеры
Входные данные
28
Выходные данные
1 2 4 7 14
Входные данные
29
Выходные данные
0
П.С. ПИТОН!!!!!!!!!!!!!
Ответы
Ответ дал:
1
Ответ:
def check_perfect(number:int, dividers = []):
for i in range(1, number):
if number%i == 0:
dividers.append(i)
if sum(dividers) == number:
return 1
def get_div(num, div = []):
for i in range(1, num):
if num%i == 0:
div.append(i)
return div
def main():
number = int(input())
if check_perfect(number):
print(' '.join(str(num) for num in get_div(number)))
else:
print(0)
if __name__ == '__main__':
main()
Объяснение:
На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.
Приложения:
Вас заинтересует
1 год назад
2 года назад
3 года назад
8 лет назад