
思路:
鬼谷子的钱袋那题一样。
就是一半一半的分。
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <iostream>
#include <map>
using namespace std;typedef long long ll;vector<ll>ans;
int cnt;int main() {int T;scanf("%d",&T);while(T--) {ans.clear();cnt = 0;ll n;scanf("%lld",&n);while(n) {cnt++;ans.push_back((n + 1) / 2);n /= 2;}printf("%d\n",cnt);for(int i = ans.size() - 1;i >= 0;i--) {printf("%lld ",ans[i]);}printf("\n");}return 0;
}