#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月出版.