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*
Комментарий*

Популярные вопросы в разделе

Андреевич-Екатерина1974
kris5009646
turoverova5
Aleksandrovich_Mitoyan1138
dkedrin74038
drozd228758
best00
okunevo2010
shangina1997507
elenak26038778
AlekseiMardanova
zverevahelen
tenvalerij
ghjcnjtyjn64
rayman777