编程题
### 问题描述 某部队要进行射击训练,准备了 $1000$ 发子弹,放到 $10$ 个箱子里(编号从 $1\sim10$)。假设这 $10$ 个箱子中的子弹数分别为 $a_1$、$a_2$、$a_3$、$\dots$、$a_{10}$(子弹数从小到大),且箱子中的子弹数是固定的。 现在该部队要取出一定数目的子弹,要求任意给一个 $1000$(含 $1000$)以内的数目,比如 $172$,**总能用若干个箱子中的子弹数组成,而没有剩余**。例如,假设 $a_3+a_4+a_6+a_8=172$,那么就从第 $3$、$4$、$6$、$8$ 个箱子中取子弹。 ### 输入格式 输入数据占一行,为一个正整数 $n$,$1\le n\le 1000$。 ### 输出格式 如果这 $n$ 发子弹可以从若干个箱子中取出,则用加号 “+” 将箱子编号从大到小连接起来,输出格式如样例输出所示。如果有多个解,则按字典序输出每个解,每个解占一行。 字典序:假如有多个解,则按箱子编号从大到小,先比较第 $1$ 个箱子的编号,越小则优先输出;如果第 $1$ 个箱子的编号相同,则再比较第 $2$ 个箱子的编号,越小则优先输出;以此类推。 ### 样例输入1 ```txt 172 ``` ### 样例输出1 ```txt 8+6+4+3 ``` ### 样例输入1 ```txt 500 ``` ### 样例输出2 ```txt 9+8+7+6+5+3 10+4+2+1 ```
查看答案
赣ICP备20007335号-2