写一个递归程序,计算:

#include<stdio.h>
int recur(int m,int n){
if(n==0) return 1;
if(n==1) return m;
if(m<2*n)return recur(m,m-n);
else return recur(m-1,n)+recur(m-1,n-1);
}
int main(){
int a,b;
scanf("%d %d",&a,&b);
printf("C(m,n)=%d",recur(a,b));
return 0;
}
求赞ing
该博客介绍了一个递归程序,用于计算组合数C(m,n)。当m和n给定时,程序通过递归调用自身进行计算。递归的基线条件包括n等于0或1,以及m小于2n的情况。对于其他情况,程序会递归地调用自身以计算C(m-1,n)和C(m-1,n-1)的和。
1万+

被折叠的 条评论
为什么被折叠?



