数列1, 1, 2, 3, 5, 8, 13, 21 …被称为斐波纳契数列。这个数列从第3项开始,每一项都等于前两项之和。
设定第1项为1,第2项为1。求数列的第n项(n<=39)。
采用子函数自身调用(递归)
代码段:
#include<stdio.h>
int fib1(int n)
{
if (n == 1)
{
return 1;
}
if (n == 2)
{
return 1;
}
return fib1(n - 1) + fib1(n - 2);//分解作用,分治策略
}
int main()
{
int n = 0;
printf("Input:");
scanf("%d",&n);
printf("Output:%d\n", fib1(n));
return 0;
}