【发布时间】:2021-05-11 22:13:56
【问题描述】:
#include <iostream>
using namespace std;
int fib(int x)
{
int number1 = 0;
int number2 = 1;
int next = 0;
for (int i = 0 ; i < x-1 ; ++i)
{
next = number1 + number2;
number2 = next;
}
return next;
}
int main()
{
int n = 40;
cout << fib(n);
return 0;
}
请告诉我我做错了什么。它没有生成我想要的系列。我想从给定的数字生成斐波那契数列。
【问题讨论】:
-
在
number2 = next;之前尝试number1 = number2; -
您可能希望收集您在
std::vector<int>中计算的FIBO 值,并从fib()函数中返回该值。在调用fib()之后的步骤中,您插入一个循环以打印所有结果。 -
获得答案的最简单方法是调试您的程序。如果你不知道怎么做,那么至少检查你的函数的返回值是否有一些小值。此外,您可以在
for循环中插入std::cout << ...以查看它是如何工作的。提示:number1在你的循环中何时被更改?
标签: c++ loops for-loop fibonacci function-definition