主题:关于递归的一道题目请教
cxg690248483
[专家分:0] 发布于 2011-12-04 04:21:00
把7分解成1+6,1+1+5,1+1+1+4……
2+5,2+1+4,2+2+3……
3+4;
输出并计算一共有多少种可能性
要求:只用C语言内容,不涉及C++,不用指针,不用数组,不用structure
不要google到的东西,我都看过了···都没符合上面的要求,希望有高手能帮忙
谢谢大家啦
回复列表 (共3个回复)
沙发
huang54 [专家分:0] 发布于 2011-12-04 15:07:00
不懂你的意思?!!
板凳
huang54 [专家分:0] 发布于 2011-12-04 15:09:00
3 楼
sefule [专家分:0] 发布于 2011-12-07 16:50:00
#include <stdio.h>
int split(int n, int m)
{
if(n < 1 || m < 1) return 0;
if(n == 1 || m == 1) return 1;
if(n < m) return split(n, n);
if(n == m) return (split(n, m - 1) + 1);
if(n > m) return (split(n, m - 1) + split((n - m), m));
}
int main()
{
printf("12的划分数: %d", split(12, 12));
return 0;
}
我来回复