哈尔滨理工大学21级新生程序设计竞赛E
#include
int main(){
int n,i,a[30],d,t,h,g;
while(scanf("%d",&n)!=EOF){
if(n%2!=0)
{
printf("-1"); break;}
for(i=1;i<30;i++){ a[i]=n%2; n=n/2; h=n*2+a[i]; if(h<2) { a[i]=h;d=i;break; } } for(i=d;i>0;i--){
t=1;
for(g=i-1;g>0;g--){
t=t*2;
}t=t*a[i]; if(t!=0) printf("%d ",t);
}
}
}
共有 0 条评论