J 不再循环
不让循环,那就跑个dfs呗
void solve(){
ll n;
cin>>n;
auto dfs=[&](auto&& self,ll x) ->void {
x-=(x&(-x));
cout<<x<<"\n";
if(x!=0) self(self,x);
};
dfs(dfs,n);
}

不让循环,那就跑个dfs呗
void solve(){
ll n;
cin>>n;
auto dfs=[&](auto&& self,ll x) ->void {
x-=(x&(-x));
cout<<x<<"\n";
if(x!=0) self(self,x);
};
dfs(dfs,n);
}