ICPC NEAU Programming Contest 2020 I. 支付(拆分数)
程序员文章站
2022-05-12 11:44:38
...
思路:
鬼谷子的钱袋那题一样。
就是一半一半的分。
#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;
}