【发布时间】:2020-03-21 23:10:24
【问题描述】:
我必须编写一个简单的程序,如下所示:“给定一个非负整数 n,使用递归找到第 n 个斐波那契数”。我认为这意味着,对于用户输入的任何值,我都必须得到斐波那契数。例如,如果用户输入 4,我将不得不获取斐波那契数列中的第 4 个值(即 2)。下面是我写的内容,但是我的递归有问题,因为它在我运行它时会崩溃。感谢任何帮助...
int userValue;
int fibo;
int fib(int n);
int fibValue;
int main() {
cout << "Please provide your value" << endl;
cin >> userValue;
while (userValue < 0) {
cout << "Fibonacci numbers only start at 0, please try again: " << endl;
cin >> userValue;
}
if (userValue == 1 || userValue == 0) {
cout << "Fibonacci result is: " << userValue << endl;
return 0;
}
else {
fib(userValue);
cout << "Fibonacci result is: " << fibValue << endl;
//return 0;
}
}
int fib(int n)
{
fibValue = fib(n - 1) + fib(n - 2);
return fibValue;
}
【问题讨论】:
标签: c++ c++11 recursion fibonacci