#1274. 和式
和式
题目描述
给定一个正整数 ,请将它表示为一个或多个正整数之和,并输出所有不同的表示方法。
对于每一种表示方法,设加数依次为 ,其中 。它必须满足:
$$b_1+b_2+\cdots+b_m=n,\qquad 1\le b_1\le b_2\le\cdots\le b_m.$$也就是说,加数必须按不降序排列。加数可以相等,也允许只有一个加数,此时对应的和式为 n=n。
请按照加数序列的字典序从小到大输出所有和式,每个和式只输出一次。
这里的字典序按照加数的整数值比较:从左到右找到第一处不同的加数,该加数较小的序列排在前面;若一个序列是另一个序列的前缀,则较短的序列排在前面。比较的是加数序列,而不是输出字符串。
输入格式
输入一行一个正整数 。
输出格式
输出若干行,每行一个合法和式,格式为:
n=b1+b2+...+bm
其中,n 和各个加数应替换为对应的十进制整数。等号两侧以及加号两侧均不输出空格,不输出多余的加号。
所有和式必须按题目要求的顺序输出。不要额外输出和式的总数。
样例 1
4
4=1+1+1+1
4=1+1+2
4=1+3
4=2+2
4=4
样例 1 解释
共有上述五种满足要求的表示方法。
4=2+1+1 中的加数没有按不降序排列,不应输出。只含一个加数的和式 4=4 也应输出。
样例 2
1
1=1
样例 2 解释
只能表示为它自身,因此只输出一行。
数据范围
对于所有测试数据,保证 。
本题共有 个测试点,每个测试点 分。
| 测试点编号 | 的上限 |
|---|---|