#T557835. 子弹装箱
子弹装箱
题目描述
某部队要进行射击训练,准备了1023发子弹,放到10个箱子里,箱子编号为1~10。假设这10个箱子中的子弹数分别为a1、a2、a3、…、a10,子弹数从小到大,且箱子中的子弹数是固定的。现在该部队要取出一定数目的子弹,要求任意给一个≤1023的数目,比如172,总能用若干个箱子中的子弹数组成,而没有剩余。例如,假设a3+a4+a6+a8=172,那么就从第3、4、6、8个箱子中取子弹,输出8+6+4+3。
输入格式
输入数据占一行,为一个正整数n,1≤n≤1023。
输出格式
如果这n发子弹可以从若干个箱子中取出,则用加号“+”将箱子编号从大到小连接起来,输出格式如样例输出所示。
输入输出样例 #1
输入 #1
172
输出 #1
8+6+4+3
说明/提示
本题出处
本题源自以下教材的编程习题:王桂平, 周思益, 周迎川著. C++编程与信息学竞赛数学基础, 北京大学出版社, 2025年7月出版.