菲波那契数
时间: 1ms 内存:64M
描述:
菲波那契(fibonacci)数(简称菲氏数)定义为:
f(0) = 0;
f(1) = 1;
f(n) = f(n-1) + f(n-2). n>1的整数
如果写出菲氏数列,则应该是:
0 1 1 2 3 5 8 13 21 34 ...
如果求其第6项,则应为8。
求第n项菲氏数。
输入:
输入数据含有不多于50个的正整数n(0≤n≤46)。
输出:
对于每个n,计算其第n项菲氏数,每个结果应占单独一行。
示例输入:
6 10
示例输出:
8
55
提示:
参考答案(内存最优[748]):
#include <stdio.h>
int main()
{
int i,n,j=0,a[50]={0,1};
for(i=2;i<=48;i++)
a[i]=a[i-1]+a[i-2];
while(scanf("%d",&n)!=EOF)
{
j++;
if(j>50)
break;
if(n>=0&&n<=46)
printf("%d\n",a[n]);
}
return 0;
}
参考答案(时间最优[0]):
#include <stdio.h>
int main()
{
int i,n,j=0,a[50]={0,1};
for(i=2;i<=48;i++)
a[i]=a[i-1]+a[i-2];
while(scanf("%d",&n)!=EOF)
{
j++;
if(j>50)
break;
if(n>=0&&n<=46)
printf("%d\n",a[n]);
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。