菲波那契数
时间: 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;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。