斐波那契数列:
形如:1 1 2 3 5 8 13 21...
即有n个数当 n 小于等于 2 时是1,当 n 大于 2时,从三项开始,每一项等于其前两项之和
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//1.实现斐波那契数列
//方法一,利用迭代实现
int fib1(int n)
{
int first = 1;
int second = 1;
int third = 1;
while (n > 2){
third = first + second;
first = second;
second = third;
n--;
}
return third;
}
//方法二:利用递归实现
int fib2(int n)
{
if (n < 3){
return 1;
}
return fib2(n - 2) + fib2(n - 1);
}
int main()
{
int ret1 = fib1(7);
int ret2 = fib2(7);
printf("方法一的结果:%d\n", ret1);
printf("方法二的结果:%d\n", ret2);
system("pause");
return 0;
}
运行时截图: