回 帖 发 新 帖 刷新版面

主题:关于递归的一道题目请教

把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个回复)

沙发


不懂你的意思?!!

板凳


3 楼

#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;  
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册