菲波那契数

菲波那契数

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注