题目描述
斐波那契数列
算法1
数组 + 双重循环
不用递归,也不用多个循环,开两个数组,直接一个for循环写死
a[61]: 存储fib数列数组的下标
fib[61]: 存储fib数列数组的值
C++ 代码
#include <iostream>
using namespace std;
long long a[61];
int main()
{
int n;
cin >> n;
long long fib[61];
for (int i = 0; i < n; i ++ )
{
cin >> a[i];
fib[i] = a[i];
for (int j = 0; j <= 60; j ++ )
{
if (j == 0) fib[j] = 0;
else if (j == 1) fib[j] = 1;
else fib[j] = fib[j - 1] + fib[j - 2];
}
printf("Fib(%lld) = %lld\n", a[i], fib[a[i]]);
}
return 0;
}