下列给定程序中,函数fun()的功能是:用递归算法计算斐波拉契级数列中第n项的值。从第一项起,斐波`拉契级数序列为1, 1,2,3,5,8,13,21,……例如,若给n输入7,
该项的斐波拉契级数值为13。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio.h>
long fun(int g)
{
/*************found**************/
switch(g);
{case 0:return 0;
switch(g)
case 1; case 2:return 1;
}
return (fun(g-1)+fun(g-2));
}
main()
{
long fib; int n;
printf("Input n:");scanf("%d",&n);
printf("n-%d\n",n);
fib=fun(n);
printf("fib=%d\D\n",fib);
}
第1题:
计算斐波那契数列第n项的值。在数学上,斐波那契数列以如下递归方法定义: F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*) 斐波那契数列的前几项是如下的数字: 1、1、2、3、5、8、13、21、34、......
第2题:
2、斐波那契数列如下 1,1,2,3,5,8,13...... 前两项为1,之后的每项都由前两项的和构成 请用递归思想,写出第n项斐波那切数列f(n)的求解方式,包括递归出口与递推公式
第3题:
4、计算并输出斐波那契数列第20项的值。
第4题:
用递归方法计算斐波那契(Fibonacci)数列1,1,2,3,5,8,13,21,... 的第n项,项数n由用户通过键盘输入。
第5题:
8、以下哪些问题不能用递归算法求解?
A.图像、语义识别
B.求斐波那契数列第N项的值
C.查找有序列表中某元素是否存在
D.计算两个数的差