欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

洛谷P2320鬼谷子的钱袋.

程序员文章站 2022-05-08 22:13:45
...

题目

这个题考察二进制分解。

\(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;
}