题目:斐波那契数列。 需求:斐波那契数列:0、1、1、2、3、5、8、13、21、34、……。输出第100个斐波数 思路:根据数列规律可以得出下一个数值都是前两个数值的和 def fib(n): if n == 1 or n == 2: return 1 ______________________ print (fib(100))
A.return fib(n)+fib(n-2)
B.return fib(n-1)+fib(n-2)
C.fib(n-2)+fib(n-2)
D.return fib(n-1) return fib(n-2)
第1题:
计算斐波那契数列第n项的函数定义如下: intfib(intn){ if(n==0)returnl; elseif(n==l)return2: elsereturnfib(n-1)+fib(n-2); } 若执行函数调用表达式fib(2),函数fib被调用的次数是( )。
A.1
B.2
C.3
D.4
第2题:
阅读以下说明和C函数代码,回答问题并将解答写在对应栏内。
【说明】
著名的菲波那契数列定义式为
f1=1 f2=1 fn=fn-1+fn-2 (n=3,4,…)
因此,从第1项开始的该数列为1,1,2,3,5,8,13,21,…。函数fibl和fib2分别用递归方式和迭代方式求解菲波那契数列的第n项(调用fib1、fib2时可确保参数n获得一个正整数)。
【C函数代码】
函数fib1和fib2存在错误,只需分别修改其中的一行代码即可改正错误。
(1)函数fib1不能通过编译,请写出fib1中错误所在行修改正确后的完整代码。
(2)函数fib2在n≤2时不能获得正确结果,请写出fib2中错误所在行修改正确后的完整代码。
第3题:
计算斐波那契数列第n项的函数定义如下: intfib(intn){ if.(n==0)return1; elseif(n==1)return2: elsereturnfib(n-1)+fib(n-2); } 若执行函数调用表达式fib(2),函数fib被调用的次数是( )。
A.1
B.2
C.3
D.4
第4题:
请在函数proc()的横线上填写若干表达式,使从键盘上输入一个整数n,输出斐波那契数列的前n个数。斐波那契数列是一个整数数列,该数列自第3项开始,每个数等于前面两个数之和,即0,1,1,2,3,5,8,13,21,34,55,…
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
【1】n==0【2】n==1【3】proc(n-1)+proc(n-2)
【解析】由斐波那契数列的定义可知,该数列中有两个特殊项。当n为0时,其值为0;当n为1时,其值为1。因此,【1】处填“n==0”;【2】处填“n==1”;当n为其他值时,为前两项的和,因此,[3]处填“proc(n-1)+proc(n-2)”。
第5题:
试题四(共 15 分)
阅读以下说明和 C 函数代码,回答问题并将解答写在答题纸的对应栏内。
[说明]
著名的菲波那契数列定义式为
f1 = 1 f2 = 1 fn = fn-1 + fn-2 (n = 3,4,…)
因此,从第 1 项开始的该数列为 1,1,2,3,5,8,13,21,…。函数 fib1 和 fib2 分别用递归方式和迭代方式求解菲波那契数列的第 n 项(调用 fib1、fib2 时可确保参数 n 获得一个正整数) 。
[C函数代码]
[问题 1](6 分)
函数 fib1 和 fib2 存在错误,只需分别修改其中的一行代码即可改正错误。
(1)函数 fib1 不能通过编译,请写出 fib1 中错误所在行修改正确后的完整代码;
(2)函数 fib2 在n≤2 时不能获得正确结果,请写出 fib2 中错误所在行修改正确后的完整代码。
[问题 2](3 分)
将函数 fib1 和 fib2 改正后进行测试,发现前 46 项都正确,而第 47 项的值是一个负数,请说明原因。
[问题 3](6 分)
函数 fib1、fib2 求得菲波那契数列第 n 项(n>40)的速度并不相同,请指出速度慢的函数名,并简要说明原因。
第6题:
数据结构与算法里,斐波那契数列的第5项的值是()。
第7题:
自然界中存在丰富的斐波那契数列,斐波那契数列来源于一个古老的数学问题,是由12世纪意大利数学家斐波那契在其书中所产生的。斐波那契数列和黄金分割的关系是?()
第8题:
卢卡斯数列是斐波那契数列的推广,其前两项是()
第9题:
下面()组数列是斐波那契数列。
第10题:
下列属于属于斐波那契数列的元素的是()
第11题:
1
2
5
8
第12题:
143.0
144.0
145.0
146.0
第13题:
下列给定程序中,函数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);
}
第14题:
计算斐波那契数列第n项的函数定义如下:
int fib(int n){
if(n==0) return 1;
else if(n==1)return 2;
else return fib(n-1)+ilb(n-2);
}
若执行函数调用表达式fib(2),函数fib被调用的次数是
A.1
B.2
C.3
D.4
第15题:
下列给定程序中函数fun的功能是。用递归算法计算斐波拉契数列中第n项的值。从第l项起,斐波拉契数列为:1、1、2、3、5、8、l3、21、……
例如,若给n输入7,则该项的斐波拉契数值为l3。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构。
第16题:
下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、…… 例如,若给n输入7,则该项的斐波拉契数值为13。 请改正程序中的错误,使它能得出正确结果。 注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构。
第17题:
第18题:
汉诺塔问题可以用递归解决,以下也可用递归实现的是()
第19题:
“0,1,1,2,3,5,8,13,21”这个著名数列名为?()
第20题:
在1,1,2,3,5,8,13,21,34……这一斐波那契数列中,第12项是()。
第21题:
下面数列体现斐波那契特点的是()
第22题:
黄金比例是斐波那契数列中的一项
斐波那契数列相邻两项的比例逐渐逼近黄金比例
黄金分割是指用斐波那契数列对一个量进行分割
黄金比例是斐波那契数列的别名
第23题:
1,1,2,3,5,8,13,21,34,55,„„
1,2,3,4,5,6,7,8,9,10,11,„„
1,2,4,8,10,20,40,80,160,320„
第24题:
1、2
1、1
2、3
1、3