大神c免费解题网站 - 爱问答

(爱问答)

大神c免费解题网站

T233043 拆分
题目描述
一般来说,一个正整数可以拆分成若干个2的若干次方的正整数的和。
例如,1=2^0,10=2^3+2^1 等。对于正整数 n 的一种特定拆分,当且仅当在这种拆分下,n 被分解为了若干个不同的 2 的整数次幂。 例如,10=8+2=2^3+2^1 7=4+2+1=2^2+2^1+2^0现在,给定正整数 n,你需要这个数的所有拆分中,请你给出具体的拆分方案。
输入格式
第一行,包含一个正整数 n,表示水果的数量。
第二行,包含 n个空格分隔的整数,其中第 i 个数表示编号为 ii的水果的种类,1代表苹果,0 代表桔子,2代表香蕉。
输出格式
这个数的拆分,你需要从大到小输出这个拆分中的每一个数,相邻两个数之间用一个空格隔开。可以证明,在规定了拆分数字的顺序后,该拆分方案是唯一的。
输入输出样例
输入6输出4 2输入11输出 8 2 1

#include<stdio.h> #include<math.h> int main(void) { int answer(int); int x; scanf("%d",&x); answer(x); puts(""); return 0; } int answer(int x) { for(int i = x;i > 0;i--) { if(x - (int)pow(2,i)>=0) { printf("%0.lf ",pow(2,i)); if(x - (int)pow(2,i) == 1) { printf("1 "); } answer(x -= (int)pow(2,i)); break; } } return x; }

相关标签:大神

下一篇:excel多个对应数据分析

上一篇:xlsx表格中如何插入不可见字符

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?