有没有Python大佬能帮我解P7071优秀的拆分,我自己老是在30分上不去,哪位大佬能帮帮我!!!
我的代码:
import sys
n = int(input())
no_2 = 0
na_2 = 1
nb_2 = 0
no = 0
na = 1
nb = 0
while no_2<n:
na_2 = na_2+1
no_2 = 2**(na_2-1)
nb_2 = nb_2+no_2
if nb_2==n:
break
if nb_2!=n:
print("-1")
sys.exit(0)
while no < n:
na = na+1
no = 2**(na-1)
nb = nb+no
print(no,end = " ")
if nb == n:
break