菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数k,要求菲波那契数列中第k个数是多少。
输入
输入一行,包含一个正整数k。(1 <= k <= 46)
输出
输入斐波那契数列的第K个数字
样例
输入
1
输出
1
输入
19
输出
4181
AC代码,作者在边缘反复试探,发现这个方法时间复杂度不高,就是数组没法往大开了。
#include<iostream>
using namespace std;
int a[30000010];
int main()
{
int k;
cin >> k;
a[1]=1;
a[2]=1;
for(int i=3;i<=30000009;i++)
{
a[i]=a[i-1]+a[i-2];
}
cout << a[k];
return 0;
}
更多精彩内容见主页!