T1:
【题目描述】
输入自然数 n(n<100),输出所有和的形式。不能重复。如:4=1+1+2;4=1+2+1;4=2+1+1 属于一种分解形式。
【样例输入】
7
【样例输出】
1:7=1+6
2:7=1+1+5
3:7=1+1+1+4
4:7=1+1+1+1+3
5:7=1+1+1+1+1+2
6:7=1+1+1+1+1+1+1
7:7=1+1+1+2+2
8:7=1+1+2+3
9:7=1+2+4
10:7=1+2+2+2
11:7=1+3+3
12:7=2+5
13:7=2+2+3
14:7=3+4
T2:
【题目描述】
输入自然数 n 和 m(n,m<100),输出所有分解,分解后的每一项都不大于 m 的。不能重复。如:4=1+1+2;4=1+2+1;4=2+1+1 属于一种分解形式。
【样例输入】
7 4
【样例输出】
1:7=1+1+1+4
2:7=1+1+1+1+3
3:7=1+1+1+1+1+2
4:7=1+1+1+1+1+1+1
5:7=1+1+1+2+2
6:7=1+1+2+3
7:7=1+2+4
8:7=1+2+2+2
9:7=1+3+3
10:7=2+2+3
11:7=3+4
T3:
【题目描述】
输入自然数 n 和 m(n,m<100),输出所有分解项数不超过 m 的所有形式。不能重复。如:4=1+1+2;4=1+2+1;4=2+1+1 属于一种分解形式。
【样例输入】
7 4
【样例输出】
1:7=1+6
2:7=1+1+5
3:7=1+1+1+4
4:7=1+1+2+3
5:7=1+2+4
6:7=1+2+2+2
7:7=1+3+3
8:7=2+5
9:7=2+2+3
10:7=3+4
=======================题解===================
递归函数中传入两个参数x,y,分别是当前n的值与项数,函数体内循环1~x/2,当最大的加数小于n时,在答案数组的第y个元素中存当前循环的值,y+1中存n-i,这样每递归一次就是一种情况,只要在调函数前输出即可,之后再传入当前n值减去i作为递归到下一层的n值,若对最大加数与项数有限制则需要在存的时候判断一下。