info4632
?>

Разложить числа 213, 56, 1023 на слагаемые, каждое из которых - степень числа 2.

Информатика

Ответы

seregina19706867

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()

Объяснение:

На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.


совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число
konnovakat1

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()

Объяснение:

На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.


совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Разложить числа 213, 56, 1023 на слагаемые, каждое из которых - степень числа 2.
Ваше имя (никнейм)*
Email*
Комментарий*