一道ACM题供大家思考。
看了weipeng1217坛友的整数划分问题帖子,我去网上看了下,有一个ACM题和他类似,不过还详细些我写下来供大家思考。我的建议是大家先做,别去网上抄代码。各抒己码,一起比较。整数划分问题整数划分是一个经典的问题。希望这道题会对你的组合数学的解题能力有所帮助。
Input
每组输入是两个整数n和k。(1 <= n <= 50, 1 <= k <= n)
Output
对于每组输入,请输出六行。
第一行: 将n划分成若干正整数之和的划分数。
第二行: 将n划分成k个正整数之和的划分数。
第三行: 将n划分成最大数不超过k的划分数。
第四行: 将n划分成若干奇正整数之和的划分数。
第五行: 将n划分成若干不同整数之和的划分数。
第六行: 打印一个空行。
Sample Input
5 2
Sample Output
7
2
3
3
3
Hint:
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