T557819 062-02-C10-整数划分问题(递归求解)

题目描述

将正整数n表示成一系列正整数之和:n = n1 + n2 + … + nk,其中n1≥n2≥…≥nk≥1,k≥1。正整数n的这种表示称为n的划分。n的不同划分个数称为n的划分数,记为p(n)。例如,6有如下11种不同的划分,所以p(6) = 11。 ```txt 6; 5 + 1; 4 + 2,4 + 1 + 1; 3 + 3,3 + 2 + 1,3 + 1 + 1 + 1; 2 + 2 + 2,2 + 2 + 1 + 1,2 + 1 + 1 + 1 + 1; 1 + 1 + 1 + 1 + 1 + 1。 ``` 输入n,求n的划分数p(n)。

输入格式

输入数据占一行,为一个整数n,1≤n≤400。

输出格式

输出占一行,为n的划分数p(n)。

说明/提示

### 本题出处 本题源自以下教材的编程习题:王桂平, 周思益, 周迎川著. C++编程与信息学竞赛数学基础, 北京大学出版社, 2025年7月出版.