时间限制: 1000 ms 内存限制: 65536 KB
提交数: 15947 通过数: 8392
【题目描述】
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数k,要求菲波那契数列中第k个数是多少。
【输入】
输入一行,包含一个正整数k。(1 ≤ k ≤ 46)
【输出】
输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小。
【输入样例】
19
【输出样例】
4181
【来源】
No
代码
#include <stdio.h>
long long feibonaqie(int n)
{
//return feibonaqie(n-1)+feibonaqie(n-2);
//运行超时
long long int f[46];
f[0]=1;f[1]=1;
if(n<=2)
{
return 1;
}
else
{
for(int i=2;i<n+1;i++)
{
f[i]=f[i-1]+f[i-2];
}
}
return f[n-1];
}
int main ()
{
int k;
scanf("%d",&k);
printf("%lld",feibonaqie(k));
return 0;
}