伙计,你的题目都是错的
Fibonacci数列中,fib(n) = 1 (n==0 || n==1)
不是1,2
fib(n) = fib(n-1) + fib(n-2) (n>=2)
记住哦!
我给你把程序补全吧:
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int Fibonacci(int);
for (int i = 0; i != 20; ++i) { //用++i而不要用i++
cout << Fibonacci(i) << '\t';
}
cout << endl;
return 0;
}
long Fibonacci (int n)
{
if (n == 0 || n == 1)
return 1;
return Fibonacci(n-1) + Fibonacci(n-2);
}
上面的注释中i++的效率低,如果不需要返回当前的i值的话,最好用++i
温馨提示:内容为网友见解,仅供参考