itgle.com

题目:斐波那契数列。 需求:斐波那契数列: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) r

题目

题目:斐波那契数列。 需求:斐波那契数列: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)


相似考题
更多“题目:斐波那契数列。 需求:斐波那契数列: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))”相关问题
  • 第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


    正确答案:C
    C。【解析】针对递归调用的含义。当n为2时有fib(o),fib(1),fib(2)被调用,且fib(O),fib(1)时调用结束,即共3次。

  • 第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中错误所在行修改正确后的完整代码。


    正确答案:(1) return fib1(n-1)+fib1(n-2);或return(fib1(n-1)+fib1(n-2)); (2) long f=1;或long f=(long)1;或long f=1L;
    (1) return fib1(n-1)+fib1(n-2);或return(fib1(n-1)+fib1(n-2)); (2) long f=1;或long f=(long)1;或long f=1L; 解析:函数fib1不能通过编译,原因在于语句“fib1(n)=fib1(n-1)+fib1(n-2)”出错,该语句中fib1(n)、fib1(n-1)、fib1(n-2)都是函数调用,由于fib1是返回长整型数据的函数,所以不能为函数调用fib1(n)赋值。该语句处应将fib1(n-1)+fib1(n-2)的值作为返回值,形式为“returnfib1(n-1)+fib1(n-2)”。
    在函数fib2中,for语句从i等于3开始循环,用于计算菲波那契数列第3项及以后各项的值。对于n等于1或2,for语句的循环体并不执行,因此对于第1、2项数列值,最后返回的f值是不确定的,为f赋初值1即可纠正该错误。

  • 第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


    正确答案:C
    C。【解析】根据递归调用的含义,当n为2时有fib(o),fib(1),fib(2)被调用,且fib(0),fib(1)时调用结束,共3次。

  • 第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项的值是()。

    • A、1
    • B、2
    • C、5
    • D、8

    正确答案:C

  • 第7题:

    自然界中存在丰富的斐波那契数列,斐波那契数列来源于一个古老的数学问题,是由12世纪意大利数学家斐波那契在其书中所产生的。斐波那契数列和黄金分割的关系是?()

    • A、黄金比例是斐波那契数列中的一项
    • B、斐波那契数列相邻两项的比例逐渐逼近黄金比例
    • C、黄金分割是指用斐波那契数列对一个量进行分割
    • D、黄金比例是斐波那契数列的别名

    正确答案:B

  • 第8题:

    卢卡斯数列是斐波那契数列的推广,其前两项是()

    • A、1、2
    • B、1、1
    • C、2、3
    • D、1、3

    正确答案:D

  • 第9题:

    下面()组数列是斐波那契数列。

    • A、1,1,2,3,5,8,13,21,34,55,„„
    • B、1,2,3,4,5,6,7,8,9,10,11,„„
    • C、1,2,4,8,10,20,40,80,160,320„

    正确答案:A

  • 第10题:

    下列属于属于斐波那契数列的元素的是()

    • A、1
    • B、2
    • C、3
    • D、4

    正确答案:A,B,C

  • 第11题:

    单选题
    数据结构与算法里,斐波那契数列的第5项的值是()。
    A

    1

    B

    2

    C

    5

    D

    8


    正确答案: A
    解析: 暂无解析

  • 第12题:

    单选题
    在1,1,2,3,5,8,13,21,34……这一斐波那契数列中,第12项是()。
    A

    143.0

    B

    144.0

    C

    145.0

    D

    146.0


    正确答案: D
    解析: 暂无解析

  • 第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);

    }


    正确答案:(1)错误:switch(g); 正确:去掉分号 (2)错误:case 1;case 2:return 1: 正确:case 1:case 2:return 1;
    (1)错误:switch(g); 正确:去掉分号 (2)错误:case 1;case 2:return 1: 正确:case 1:case 2:return 1; 解析:C语言中,Switch语句之后不能有分号,并且Case语句常量后应用的是冒号。

  • 第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


    正确答案:C
    解析:fib(2)=fib(1)+fib(O)=2+1=3,所以函数被调用3次,分别是fib(2)、fib(1)和fib(O)。

  • 第15题:

    下列给定程序中函数fun的功能是。用递归算法计算斐波拉契数列中第n项的值。从第l项起,斐波拉契数列为:1、1、2、3、5、8、l3、21、……

    例如,若给n输入7,则该项的斐波拉契数值为l3。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构。


    正确答案:
    【参考答案】去掉分号(2Casel:caBe2:returnl;【考点分析】本题考查:switch语句,其一般形式为switch(表达式)cage常量表达式l:语句l;case常量表达式2:语句2;cm常量表达式n:语句n;default:语句n+1;其中switch(表达式)后不应该带有“;”,同时case语句常量后应该是“:”。【解题思路】C语言中,switch语句之后不能有分号,并且case语句常量后应用的是冒号。

  • 第16题:

    下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、…… 例如,若给n输入7,则该项的斐波拉契数值为13。 请改正程序中的错误,使它能得出正确结果。 注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构。


    正确答案:
    (1)去掉分号
    (2)case l:case 2:return l;
    【考点分析】
    本题考查:switch语句,其一般形式为:
    switch(表达式){
    case常量表达式1:语句l;
    case常量表达式2:语句2;
    case常量表达式n:语句n;

    其中switch(表达式)后不应该带有”;”,同时case语句常量后应该是”:“。
    【解题思路】
    c语言中,sw迎ch语句之后不能有分号,并且case语句常量后应用的是冒号。

  • 第17题:


    A.等比数列、斐波那契数列
    B.黄金分割、斐波那契数列
    C.等比数列、黄金分割
    D.调和数列、黄金分割

    答案:B
    解析:
    勒·柯布西耶提出的模距图所列数字之间,存在黄金分割、斐波那契数列。斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、…在数学上,斐波那契数列以如下递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。在现代物理、准晶体结构、化学等领域,斐波那契数列都有直接的应用。

  • 第18题:

    汉诺塔问题可以用递归解决,以下也可用递归实现的是()

    • A、求1-n的和
    • B、求n的阶乘
    • C、斐波那契数列
    • D、n^k(^表示幂)

    正确答案:A,B,C,D

  • 第19题:

    “0,1,1,2,3,5,8,13,21”这个著名数列名为?()

    • A、大衍数列
    • B、斐波那契数列
    • C、陈景润数列
    • D、卢卡斯数列

    正确答案:B

  • 第20题:

    在1,1,2,3,5,8,13,21,34……这一斐波那契数列中,第12项是()。

    • A、143.0
    • B、144.0
    • C、145.0
    • D、146.0

    正确答案:B

  • 第21题:

    下面数列体现斐波那契特点的是()

    • A、1、1、2、3、5、8、13、21、……
    • B、2、3、5、8、13、21、……
    • C、2、4、6、8、10、……
    • D、1、1、2、4、6、8、……

    正确答案:A

  • 第22题:

    单选题
    自然界中存在丰富的斐波那契数列,斐波那契数列来源于一个古老的数学问题,是由12世纪意大利数学家斐波那契在其书中所产生的。斐波那契数列和黄金分割的关系是?()
    A

    黄金比例是斐波那契数列中的一项

    B

    斐波那契数列相邻两项的比例逐渐逼近黄金比例

    C

    黄金分割是指用斐波那契数列对一个量进行分割

    D

    黄金比例是斐波那契数列的别名


    正确答案: D
    解析: 暂无解析

  • 第23题:

    单选题
    下面()组数列是斐波那契数列。
    A

    1,1,2,3,5,8,13,21,34,55,„„

    B

    1,2,3,4,5,6,7,8,9,10,11,„„

    C

    1,2,4,8,10,20,40,80,160,320„


    正确答案: C
    解析: 暂无解析

  • 第24题:

    单选题
    卢卡斯数列是斐波那契数列的推广,其前两项是()
    A

    1、2

    B

    1、1

    C

    2、3

    D

    1、3


    正确答案: C
    解析: 暂无解析