1071:菲波那契数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 88585 通过数: 46061
【题目描述】
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数k,要求菲波那契数列中第k个数是多少。
【输入】
输入一行,包含一个正整数k。(1 ≤ k ≤ 46)
【输出】
输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小。
【输入样例】
19
【输出样例】
4181
#include<bits/stdc++.h>
using namespace std;
int s[50];
int main(){
int k;
cin>>k;
s[0]=1;
s[1]=1;
if(k==0||k==1||k==2){
cout<<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];
}
}