#include<bits/stdc++.h>using namespace std;set<int>s;int main(){ int n,h,cn=1,a[100001]={0},k=0,sum=0; scanf("%d",&n); printf("1\n"); printf("%d\n",n); h=n; while(1){//找出哪几位在二进制下为0 if(!(h&1)){ a[k]=cn; k++; } cn=cn2; h=h>>1; if(h==0) break; } for(int j=0;j<k;j++) sum+=a[...