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