EditReturn我不能完全理解这里所问的递归函数(c++) 我现在正在C++中做一些练习,但是我不知怎么地不能回答这个问题:
创建一个名为bin的函数,该函数接受两个整数参数:n 和k,并返回一个整数。如果k等于0或n小于 k、 此函数必须返回1。在任何其他情况下,此函数 应返回binn-1,k-1和binn-1,k之和EditReturn我不能完全理解这里所问的递归函数(c++) 我现在正在C++中做一些练习,但是我不知怎么地不能回答这个问题:,c++,algorithm,function,recursion,C++,Algorithm,Function,Recursion,创建一个名为bin的函数,该函数接受两个整数参数:n 和k,并返回一个整数。如果k等于0或n小于 k、 此函数必须返回1。在任何其他情况下,此函数 应返回binn-1,k-1和binn-1,k之和 一个函数,在int bin int x,int y中,如果n==0 n我认为这只是把英语翻译成C++的问题,不是吗? // Create a function named bin that, that takes two integer arguments: n and k, //and retur
一个函数,在int bin int x,int y中,如果n==0 n我认为这只是把英语翻译成C++的问题,不是吗?
// Create a function named bin that, that takes two integer arguments: n and k,
//and returns an integer.
int bin(int n, int k)
{
// If k is equal to 0 or n is smaller than k, this function has to return 1.
if ((k == 0) || n < k)
return 1;
//In any other case, this function should return the sum of
// bin(n-1, k-1) and bin(n-1, k).
return bin(n-1, k-1) + bin(n-1, k);
}
我认为这只是把英语翻译成C++的问题,不是吗?
// Create a function named bin that, that takes two integer arguments: n and k,
//and returns an integer.
int bin(int n, int k)
{
// If k is equal to 0 or n is smaller than k, this function has to return 1.
if ((k == 0) || n < k)
return 1;
//In any other case, this function should return the sum of
// bin(n-1, k-1) and bin(n-1, k).
return bin(n-1, k-1) + bin(n-1, k);
}
通过逐字阅读文本,解决方案非常简单:
int bin(int n, int k) {
if (k == 0 || n < k)
return 1;
return binomial(n-1, k-1) + binomial(n-1, k);
}
为了完整起见,请注意还有其他更快的方法,例如,通过逐字阅读文本,在ONK中计算它,解决方案非常简单:
int bin(int n, int k) {
if (k == 0 || n < k)
return 1;
return binomial(n-1, k-1) + binomial(n-1, k);
}
为了完整起见,请注意还有其他更快的方法,例如在ONK中计算它的方法如果您可以发布代码,那就太好了:请张贴你真正的功能,而不是一个长句子的代码片段。你的问题是什么?这样做的目的是什么?或者我该如何编写这样的函数呢?好的,请稍候。到目前为止,您的代码忘记了返回值。我刚刚设法正确使用了编辑器。谢谢您的时间和回复。如果您能发布您的代码,那就太好了请张贴你真正的功能,而不是一个长句子的代码片段。你的问题是什么?这样做的目的是什么?或者我该如何编写这样的函数呢?好的,请稍候。到目前为止,您的代码忘记了返回值。我刚刚设法正确使用了编辑器。感谢您的时间和回答。signed将比int更好。如前所述,bin-1,-2将递归直到整数溢出。请注意,无论如何,整个过程都可能导致堆栈溢出。非常感谢您,我仍然很难在编辑器中实现我的代码,我已经得到了答案。@MartinBonner unsigned long long可能更好。。。这个兔子洞可能会持续很久,无符号的会比int好。如前所述,bin-1,-2将递归直到整数溢出。请注意,无论如何,整个过程都可能导致堆栈溢出。非常感谢您,我仍然很难在编辑器中实现我的代码,我已经得到了答案。@MartinBonner unsigned long long可能更好。。。这个兔子洞可能会持续很久谢谢你。。你的话也使我明白了这件事。。你的话为我解释了这件事