当前位置:首页 > 题解目录 > 正文内容

【题解】2020-T1 优秀的拆分

亿万年的星光4年前 (2021-10-04)题解目录1809

【题目描述】

一般来说,一个正整数可以拆分成若干个正整数的和。

例如,1=1,10=1+2+3+4等。对于正整数n的一种特定拆分,当且仅当在这种拆分下,n被分解为若干个不同的2的正整数次幂。

注意,一个数x能被表示成2的正整数次幂,当且仅当x能通过正整数个2相乘在一起得到。

 例如,10=8+2=2^3 +2^1 是一个优秀的拆分。但是,7=4+2+1=2^2+2^1+2^0就不是一个优秀的拆分,因为1不是2的正整数次幂。

 现在,给定正整数n,你需要判断这个数的所有拆分中,是否存在优秀的拆分,若存在,请给出具体的拆分方案。
【输入描述】

输入只有一行,一个整数n,代表需要判断的数。


【输出描述

如果这个数的所有拆分中,存在优秀的拆分。那么,你需要从大到小输出这个拆分中的每一个数,相邻两个数之间用一个空格隔开。可以证明,在规定了拆分数字的顺序后,该拆分方案是唯一的。

若不存在优秀的拆分,输出-1。

【样例输入】

6

【样例输出】

4 2

【提示】

样例解释

6=4+2=22+21是一个优秀的拆分。注意6=2+2+2不是一个优秀的拆分,因为拆分成的3个数不满足每个数互不相同。


【样例输入2】

7


【样例输出2】

-1

【数据规模与约定】

对于20%的数据,n<=10。

对于另外20%的数据,保证n为奇数。

对于另外20%的数据,保证n为2的正整数次幂。

对于80%的数据,n<=1024。

对于100%的数据,1<=n<=1*10^7


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

【题解】智力大冲浪

【题目描述】小伟报名参加中央电视台的智力大冲浪节目。本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元。先不要太高兴!因为这些钱还不一定都是你的。接下来主持人宣布了比赛规则:首...

【题解】最长不下降子序列2

【题目描述】设有由n(1≤n≤200)个不相同的整数组成的数列,记为:b(1)、b(2)、……、b(n)且b(i)≠b(j)(i≠j),若存在i1<i2<i3<…<ie 且有b...

【题解】采摘花生2

【题目描述】Hello Kitty又一次来到花生地里摘花生,从左上角进入花生地,从右下角出去,只能向右或者向下,请问Hello Kitty应该沿着什么样的路线走,能够摘到的花生数量最多(假设花生地里没...

【题解】车辆管理

【题目描述】交通管理局长氓氓现在需要一个管理汽车的系统,每一辆汽车都有许多信息需要去记录。 首先,每一辆汽车都有一个独一无二的车牌号 S,车牌号由 7 个字符组成。 然后,对于每一辆车要记录它的排...

【题解】取数

【题目描述】设有N 个正整数(1 <= N <= 50),其中每一个均是大于等于1、小于等于300的数。从这N个数中任取出若干个数(不能取相邻的数),要求得到一种取法,使得到的和为最大。例...

猴子吃桃

【题目描述】猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第N天早上想再吃时...