百练 04 简单的整数划分问题
原文地址:http://www.cnblogs.com/wanghetao/archive/2013/11/25/3442192.html 描述 整数划分是一个经典的问题。请写一个程序,完成以下要求. 输入 每组输入是两个整数n和k。(1 <= n <= 50, 1 <= k <= n) 输出 对于输入的 n,k; 第一行: 将n划分成若干正整数之和的划分数。 第二行: 将n划分成k个正整数之和的划分数。 第三行: 将n划分成最大数不超过k的划分数。 第四行: 将n划分成若干个 奇正整数之和的划分数。 第五行: 将n划分成若干不同整数之和的划分数。 第六行: 打印一个空行 样例输入 5 2 样例输出 7 2 3 3 3 提示 样例输出提示: 1.将5划分成若干正整数之和的划分为: 5, 4+1, 3+2, 3+1+1, 2+2+1, 2+1+1+1, 1+1+1+1+1 2.将5划分成2个正整数之和的划分为: 3+2, 4+1 3.将5划分成最大数不超过2的划分为: 1+1+1+1+1, 1+1+1+2, 1+2+2 4.将5划分成若干 奇正整数之和的划分为: 5, 1+1+3, 1+1+1+1+1 5.将5划分成若干不同整数之和的划分为: 5, 1+4, 2+3 本题使用动态规划( Dynamic Programming)方法解决 一 求将 n划分为若干正整数之和的划分数 1.