/*
编写升序输出m和n之间所有的Fibonacci数。要求定义并调用函数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的斐波那契数的和。
样例输入 Copy
2 5
样例输出 Copy
10
*/
#include <iostream>
#include <cmath>
using namespace std;
int fib(int n)
{
int s1 = 1;
int s2 = 1;
if (n == 1 || n == 2)
{
return 1;
}
else
{
for (int i = n - 2; i > 0; i--)
{
s1 = s1 + s2;
s2 = s1 + s2;
if (n % 2 == 0)
{
return s1;
}
else
{
return s2;
}
}
}
}
int main(){
int n,m;
cin >> n >> m;
int sum = 0;
for(int i = 1;fib(i)>=m&&fib(i)<=n;i++){
sum += fib(i);
}
OJ_斐波那契数列
最新推荐文章于 2024-07-20 18:10:49 发布