//非递归实现斐波那契数列
#include<stdio.h>
int Fibo(int n)
{
int f1 = 1;
int f2 = 1;
int f3 = 0;
if (n <= 2)
return 1;
for (int i = 3; i <= n; i++)
{
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
return f3;
}
int main()
{
printf("请输入一个数\n");
int n = 0;
scanf("%d", &n);
int ret = Fibo(n);
printf("ret=%d\n", ret);
system("pause");
return 0;
}
C++实现斐波那契数列(其实都差不多)
//递归
#include<iostream>
using namespace std;
long long Fibo(int n)
{
if (n <= 2)
return 1;
else
{
return Fibo(n - 1) + Fibo(n - 2);
}
}
int main()
{
int ret = 0;
for (int i = 1; i <=10; i++)
{
ret = Fibo(i);
cout << ret << endl;
}
system("pause");
return 0;
}
非递归实现斐波那契数列
#include<iostream>
using namespace std;
long long Fibo(int n)
{
int* tmp = new int[n];
tmp[0] = 1;
tmp[1] = 1;
for (int i = 2; i <= n; i++)
{
tmp[i] = tmp[i - 1] + tmp[i - 2];
}
return tmp[n];
delete[] tmp;
tmp = NULL;
}
int main()
{
long long ret = 0;
for (int i = 0; i < 10; i++)
{
ret = Fibo(i);
cout << ret << endl;
}
system("pause");
return 0;
}