斐波那契数列指的是这样的一个数列:
0,1,1,2,3,5,8,13,21,......从第3个数起,每个数都是前两个数之和。编写算法,输出斐波那契数列的前n项。
【分析】
斐波那契数列可以写成如下公式:
当n=4时,求fibibacci(4)的值过程如下图所示。
其中,图中阴影部分为对应的函数值。求fibibacci(4)的值,需要知道fibibacci(3)与fibibacci(2)的值,而求fibibacci(3)的值需要知道fibibacci(2)和fibibacci(1)的值,求fibibacci(2)的值需要知道fibibacci(1)和fibibacci(0)的值。fibibacci(1)=1,fibibacci(0)=0,所以直接返回。
code:
#include<stdio.h>
#include <iostream>
int fib(int n);
void main()
{
int n;
printf("请输入项数:");
scanf("%d", &n);
printf("第%d项的值:%d\n", n, fib(n));
system("pause");
}
int fib(int n)
{
if (n == 0)
return 0;
if (n == 1)
return 1;
if (n > 1)
return fib(n - 1) + fib(n - 2);
}
结果:
扫描二维码关注公众号,回复:
12342503 查看本文章