-->
当前位置:首页 > 题库 > 正文内容

函数题:求组合数(高效递归版)

Luz2年前 (2021-11-13)题库977
请编写高效递归函数,求组合数。





#### 函数原型

c
double Cmb(int x, int y);


说明:x 和 y 为非负整数,且 x ≥ y ≥ 0,函数值为组合数 $$C_x^y$$。

要求:不要使用循环语句,不调用阶乘函数和排列数函数。找出最快的递推公式,该函数直接调用自己求得结果。

#### 裁判程序

c
#include <stdio.h>

double Cmb(int x, int y);

int main()
{
int m, n;
scanf("%d%d", &m, &n);
printf("%.10g\n", Cmb(m, n));
return 0;
}

/* 你提交的代码将被嵌在这里 */


#### 输入样例
in
4 2


#### 输出样例
out
6



#### 测试数据

<table>
<tr>
<td align="center"><b>输入样例</b></td>
<td align="center"><b>输出样例</b></td>
</tr>
<tr>
<td>0 0</td>
<td>1</td>
</tr>
<tr>
<td>5 0</td>
<td>1</td>
</tr>
<tr>
<td>34 17</td>
<td>2333606220</td>
</tr>
<tr>
<td>160 158</td>
<td>12720</td>
</tr>
<tr>
<td>1000 100</td>
<td>6.385051193e+139</td>
</tr>
</table>






答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。