一、迭代算法,复杂度是n
这里仍然要注意一个问题,有些人会简单的用数组存储斐波那契数列,而不是用三个数转换。估计是要占用不少内存空间的,空间复杂度虽然没有原来要求那么高,还是要注意一下的。
#include <iostream>
using namespace std;
long Function_one(long n)
{
if (n <= 0)return 1; //0和1
long current = 1; //大于1
long last = 1;
long beforelast = 0;
for (long i = 2; i <= n; i++)
{
current = last + beforelast;
beforelast = last; //下次循环的第n-2项
last = current; //下次循环的n-1项
}
return current;
}
long Function_two(long n)
{
long sum = 0;
for (long i = 1; i <= n; i++)
{
sum += Function_one(i);
}