
C语言递归问题 m个A n个B全排列 求详细解释!
题目:m个A,n个B,求其全排列,要求空白出只能填一条语句。intf(intm,intn){if(m==0||n==0)return0;return___________...
题目:m个A,n个B,求其全排列,要求空白出只能填一条语句。
int f(int m,int n)
{if(m==0||n==0)return 0;
return____________;
该题答案:f(m-1,n)+f(m,n-1)
求高手解释! 展开
int f(int m,int n)
{if(m==0||n==0)return 0;
return____________;
该题答案:f(m-1,n)+f(m,n-1)
求高手解释! 展开
2个回答
展开全部
int f(int m,int n)
{if(m==0||n==0)return 1; // 这里是1才对啊
return____________;
假设m==0或者n==0的时候, 全排列只有1种
当m和n都不是0的时候
第一个位置可以是A, 也可以是B
当第一个位置是A的时候, 后面剩下的排列方式就剩下m-1个A和n个B
当第一个位置是B的时候, 后面剩下的排列方式就剩下m个A和n-1个B
所以总的数目是上面两种情况的和
{if(m==0||n==0)return 1; // 这里是1才对啊
return____________;
假设m==0或者n==0的时候, 全排列只有1种
当m和n都不是0的时候
第一个位置可以是A, 也可以是B
当第一个位置是A的时候, 后面剩下的排列方式就剩下m-1个A和n个B
当第一个位置是B的时候, 后面剩下的排列方式就剩下m个A和n-1个B
所以总的数目是上面两种情况的和
展开全部
有性质:Cmn+1 = Cmn + Cm-1n
参考资料: http://wy19880318.blog.163.com/blog/static/3615147220090385546818/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询