57 斐波那契部分和
作者: 江宝钏时间限制: 1S章节: 函数
问题描述 :
计算闭区间[m,n](即大于等于m且小于等于n)内的所有斐波那契数的和。
要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。
例如,fib(7)返回13
Fibonacci={1,1,2,3,5,8,13,................}
其中:an=an-1+an-2
输入说明 :
两个数m和n
输出说明 :
所有属于闭区间[m,n]即大于等于m,小于等于n的斐波那契数的和。
输入范例 :
2 5
输出范例 :
10
#include <stdio.h>
#include <stdlib.h>
int fib(int n)
{
int a,b,result;
a=b=result=1;
if(n<0)
return 0;
if(n<=2)
return result;
if(n>=3)
for(int i=3;i<=n;i++)
{
result=a+b;
a=b;
b=result;
}
return result;
}
int main()
{
int m,n;
while( scanf("%d%d",&m,&n) != EOF)
{
int count=0;
for(int i=1;i<=n;i++)
{
if( fib(i)>=m && fib(i)<=n )
count+=fib(i);
}
printf("%d",count);
}
return 0;
}