题目描述 Description
斐波纳契数列是这样的数列:
f1 = 1
f2 = 1
f3 = 2
f4 = 3
....
fn = fn-1 + fn-2
输入一个整数n
递归版:
斐波纳契数列是这样的数列:
f1 = 1
f2 = 1
f3 = 2
f4 = 3
....
fn = fn-1 + fn-2
输入一个整数n
求fn
一个整数n, n<= 40
一个整数fn
3
2
n<=40
代码:
数组版:
#include <iostream>
using namespace std;
int fibonacci[45];
int main()
{
int n;
cin >> n;
fibonacci[0] = 0;
fibonacci[1] = 1;
fibonacci[2] = 1;
for (int i = 3; i <= n; i++)
fibonacci[i] = fibonacci[i-1] + fibonacci[i-2];
cout << fibonacci[n];
return 0;
}
递归版:
#include <iostream>
using namespace std;
int fibonacci(int n)
{
int fn;
if (n == 1 || n == 2)
fn = 1;
else
fn = fibonacci(n - 1) + fibonacci(n - 2);
return fn;
}
int main()
{
int n;
cin >> n;
int result = fibonacci(n);
cout << result;
return 0;
}