整数划分算法分析以及JAVA代码完美实现
一、问题描述
整数划分:将正整数n表示成一系列正整数只和,n = n1 + n2 + …… + nk,其中n1 >= n2 >= nk >= 1,k >= 1 。正整数 n 的这种表示称为正整数 n 的划分,正整数 n 的所有不同的划分个数总和称为正整数 n 的划分数,记作p(n)。
例如:
正整数 3 有如下3种不同的划分,即p(n)= 3。
3;
2 + 1;
1 + 1 + 1;
正整数 6 有如下11种不同的划分,即p(n)= 11。
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;
二、整数划分算法分析