#2320. P2933 - 完美的求和 - JOYSKID
P2933 - 完美的求和 - JOYSKID
题目描述
对于正整数n,可以有若干个不同的 2 的正整数次幂求和得到n,我们就称为完美的求和。
例如
这就是一个完美的求和,但是,
,就不是一个完美的求和。因为1不是2的正整数幂。
有一个正整数n,请你判断n有没有完美的求和,若存在,请写出具体的求和,如果不存在,请输出-1。
输入格式
输入文件只有一行,一个正整数 n,代表需要判断的数。
【数据范围与提示】
对于 20% 的数据, n ≤ 10。
对于另外 20% 的数据,保证 n 为奇数。
对于另外 20% 的数据,保证 n 为 2 的正整数次幂。
对于 80% 的数据, n ≤ 1024。
对于 100% 的数据, 1 ≤ n ≤ 1 × 。
输出格式
如果有完美的求和,那么, 从大到小输出这个求和中的每一个数, 相邻两个数之间用一个空格隔开。 可以证明, 在规定了拆分数字的顺序后, 该求和方案是唯一的。 若不存在完美的求和,输出“-1”(不包含双引号)。
6
4 2
提示
【样例 1 解释】
6 = 4 + 2 = 是完美的求和。注意, 6 = 2 + 2 + 2 不是完美的求和,因为拆分成的 3 个数不满足每个数互不相同。
【样例 2 输入】
7
【样例 2 输出】
-1