菲波那契数

时间: 1ms        内存:128M

描述:

爱动脑的小西,学了菲薄数列以后,喜欢自己琢磨,然后他试着将菲薄数列进行求和,但他觉得手算太麻烦,想请你帮帮他。。。菲波那契(数定义为: f(0) = 0; f(1) = 1; f(n) = f(n-1) + f(n-2). n是>1的整数。
 求f(1)+f(2)+…+f(n)

输入:

正整数n(n<=50)

输出:

f(1)+f(2)+…+f(n)的和

示例输入:

6

示例输出:

20

提示:

参考答案(内存最优[1120]):

#include<stdio.h>
int main()
{
	int n,i,f1,f2;
	while(scanf("%d",&n)!=EOF)
	{
		f1=1,f2=1;
	if(n==1||n==2)
		printf("%d",f1);
	else
		for(i=1;i<=n-2;i++)
		{
			f1=f1+f2;
			f2=f1-f2;
		}
		printf("%d\n",f1);
	}
		return 0;
}


参考答案(时间最优[1]):

#include<stdio.h>
int main()
{
	int n,i,f1,f2;
	while(scanf("%d",&n)!=EOF)
	{
		f1=1,f2=1;
	if(n==1||n==2)
		printf("%d",f1);
	else
		for(i=1;i<=n-2;i++)
		{
			f1=f1+f2;
			f2=f1-f2;
		}
		printf("%d\n",f1);
	}
		return 0;
}


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