【发布时间】:2018-04-19 19:48:44
【问题描述】:
这里的初学者试图了解错误的来源。
我已经编写了这个递归函数来查找两个数字之间的二项式系数,这在概念上显然是正确的。然而,对于这两个数字,n =4 和 k=2,我应该得到 6,而我实际上得到 16。知道为什么会这样吗?
#include<stdio.h>
int binomial(int n, int k)
{
if ((k = 0) || (k == n))
return 1;
if (k>n)
return 0;
return binomial(n - 1, k - 1) + binomial(n - 1, k);
}
int main()
{
int a, b, res;
a = 4;
b = 2;
res = binomial(a, b);
printf("The result is %d", res);
return 0;
}
【问题讨论】:
-
用
-Wall编译 -
如果对你有帮助,请考虑接受答案(它也给你 2 个代表点 :))
标签: c debugging recursion binomial-coefficients