gpt4 book ai didi

c++ - c++中不使用全局变量的递归函数中的加法次数

转载 作者:太空宇宙 更新时间:2023-11-04 15:57:27 24 4
gpt4 key购买 nike

我必须实现一个计数器来计算这个递归函数中的加法次数,但我不允许使用全局变量。你知道怎么做吗?例如,如果函数必须在空闲时间调用自身,那么我的计数器必须在返回之前的函数末尾设置为 3。

long lindh(unsigned int n) {

long lin = 0;
if (n == 1 || n == 2) {
lin = 1;
} else {
lin = 1 * lindh(n - 1) + 3 * lindh(n - 2);
}

return lin;
}

int main() {
long b = 0;
b = lindh(24);

cout << "lindhauer " << b << endl;

return 0;
}

最佳答案

您可以将函数签名更改为:

long lindh(unsigned int n, int &count) 

在初始调用和每个递归调用中,将您希望计数结束的变量传递给它。在适当的地方增加 count

关于c++ - c++中不使用全局变量的递归函数中的加法次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53642189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com