ICPC NEAU Programming Contest 2020 I. 支付(拆分數)

在這裏插入圖片描述
思路:
鬼谷子的錢袋那題一樣。
就是一半一半的分。

#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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章