本关任务:
编写一个计算斐波那契数列第n项值的小程序。要求用递归函数实现求解斐波那契数列第n项。
相关知识
斐波那契数列公式为:
F1=1 F2=1 F3=2 F4=3 F5=5 ... Fn=Fn-1+Fn-2
编程要求
根据提示,在右侧编辑器补全函数Fabonaci(),在主函数中输入n,调用所写的函数并输出结果。
测试说明
测试样例1:
测试样例2:
测试样例3:
其中: 黑色字体为输出内容; 红色字体为输入内容; 所有标点符号均为英文标点。
代码实现
#include <stdio.h>
#include <stdlib.h>
long Fabonaci(int n);
int main()
{
printf("Input n:\n");
int n = 0;
scanf("%d", &n);
if (n <= 0)
{
printf("Input error!");
return 0;
}
Fabonaci(n);
printf("fabnaci[%d] = %d", n, Fabonaci(n));
return 0;
}
long Fabonaci(int n)
{
int F1 = 1, F2 = 1, F3 = 2;
int tmp = 0;
for (int i = 0; i < n - 3; i++)
{
tmp = F3;
F3 = F2 + F3;
F1 = F2;
F2 = tmp;
}
return F3;
}