1. 程式人生 > >洛谷P2320鬼谷子的錢袋.

洛谷P2320鬼谷子的錢袋.

題目

這個題考察二進位制分解。

\(Code\)

#include <bits/stdc++.h>
#pragma GCC optimize(2)
#pragma GCC optimize(3)
using namespace std;
long long n, data[100010], cnt;
int main()
{
    scanf("%d", &n);
    while (n)
    {
        data[++cnt] = (n + 1) / 2;
        n /= 2;
    }
    sort(data + 1, data + 1 + cnt);
    printf("%d\n", cnt);
    for (int i = 1; i <= cnt; i++)
        printf("%d ", data[i]);
    return 0;
}