gpt4 book ai didi

c++ - C++段错误中的斐波那契扩展

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

<分区>

我正在尝试将扩展名添加到斐波那契数列中以考虑负数指标。扩展是 Fib(-n) = (-n)^(n+1) * Fib(n)我试图在 C++ 中实现它,但我遇到了一个问题,我不确定如何解决它。

#include <iostream>
#include <math.h>


int fib(int n) {
if ( n < 0 ){
return ( pow(-1,-n+1 ) * fib(-n) );
}else if (n == 0){
return 1;
}else{
return fib(n-1) + fib(n-2);
}
}


int main(void){
std::cout << "fib("<< -2<<") = " << fib(-2) << std::endl;
return 0;
}

这给了我一个段错误,知道这是为什么吗?

编辑:我想出了问题是什么。忘记了一个基本情况,这导致了无限递归,进而导致了段错误。

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