1071:菲波那契数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 40446 通过数: 20533
【题目描述】
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数k,要求菲波那契数列中第k个数是多少。
【输入】
输入一行,包含一个正整数k。(1 ≤ k ≤ 46)
【输出】
输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小。
【输入样例】
19
【输出样例】
4181
【来源】
No
#include<iostream>
#include<cstdio>
int s[2333];
using namespace std;
int main()
{
int k;
cin>>k;
s[0]=1;
s[1]=1;
if(k==0||k==1||k==2) printf("%d",1);
else{
for(int a=2;a<k;a++)
s[a]=s[a-1]+s[a-2];
for(int a=2;a<k;a++)
s[k]=s[a];
cout<<s[k];
}
return 0;
}