天天看點

1071:菲波那契數

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;
}
           

繼續閱讀