题目如下
对于一个正整数n的划分,就是把n变成一系列正整数之和的表达式。注意,分划与顺序无关,例如6=5+1.跟6=1+5是同一种分划,另外,这个整数本身也是一种分划。
例如:,对于正整数n=5,可以划分为:
1+1+1+1+1
1+1+1+2
1+1+3
1+2+2
2+3
1+4
5
输入描述
输入一个正整数n
输出描述
输出n整数划分的总数k
输入样例
5
输出样例
7
题目解析
这里我们对这道题的最好办法就是利用递归来解决,但是这道题该怎么用递归来解决?首先我们创建一个列表,长度为n,之后我们在对1~n的数进行倒叙循环出来,我们先取这个数,在进入递归。下面我们就需要设定输出条件了,当总和等于n的时候就可以了,然后打印出来
大致代码
# def f(n,a,k):
# if n <= 0:
# for i in range(k):
# print(a[i], end='')
<