已知组合数的递归定义如下所示,编写递归程序求 Cnk 的值(n,k 由键盘输入)。
#include<stdio.h>
int main(){
int cnk(int k, int n);
int n, k;
printf("输入n,k(皆为正整数)");
scanf("%d,%d", &n, &k);
printf("%d", cnk(k, n));
}
int cnk(int k , int n){
if( k == 0 || n == k)
return 1;
else if( 0 < k && k < n)
return cnk(k - 1, n - 1) + cnk(k, n - 1);
else{
printf("error");
return 0;
}
}
————————————————————————————
success