斐波那契数列FN的定义为:F0=0, F1=1, FN=FN−1+FN−2, N=2, 3, …。用递归函数计算FN的时间复杂度是O(N!)。

题目

斐波那契数列FN的定义为:F0=0, F1=1, FN=FN−1+FN−2, N=2, 3, …。用递归函数计算FN的时间复杂度是O(N!)。


相似考题
更多“斐波那契数列FN的定义为:F0=0, F1=1, FN=FN−1+FN−2, N=2, 3, …。用递归函数计算FN的时间复杂度是O(N!)。”相关问题
  • 第1题:

    当频率为f的交流电源加到加到电压加到一、二次绕组匝数分别为N1、N2的变压器的一次绕组后,一次侧绕组中的感应电势为()

    A E1=4.44fN1

    B E1=4.44fN2

    C E1=2.22fN1


    正确答案:A

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

    试题四(共 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)的速度并不相同,请指出速度慢的函数名,并简要说明原因。


    正确答案:


  • 第5题:

    Fibnacci数列的定义为:F0=0,F1=1,Fn=Fn-1+Fn-2(n≥2,n∈N*),要计算该数列的任意项Fn,既可以采用递归方式编程也可以采用循环语句编程,由于( ),所以需要较多的运行时间。

    A.递归代码经编译后形成较长目标代码
    B.递归代码执行时多次复制同一段目标代码
    C.递归代码执行时需要进行一系列的函数调用及返回且存在重复计算
    D.递归代码执行过程中重复存取相同的数据

    答案:C
    解析:
    本题考查程序语言基础知识。
    分析递归代码执行过程可知,由于调用函数时系统需要在栈区开辟支持函数运行时需要的空间(大多数局部变量的存储单元即分配在此空间中),同时还需造成控制流的转移、返回位置的记录和恢复等工作,同时在该例子中存在着重复计算,例如计算只时要通过递归调用分别计算F3和F2,而在计算F3时,则要通过递归调用分别计算F2和F1,其中F2的计算会重复,因此递归代码执行时需要进行一系列的函数调用及返回且存在重复计算都是比较耗时的。

  • 第6题:

    函数列{fn(χ)}与函数,f(χ)是在闭区间[a,b]上有定义,则在[a,b]上{fn(χ)}一致收敛于f(χ)的充要条件是( )。


    答案:D
    解析:
    根据函数的一致收敛定义可得。

  • 第7题:

    交一交变频调速系统适用的调频范围为()

    • A、0~fN
    • B、1/2fN~fN
    • C、1/3fN~fN
    • D、1/2fN~1/3fN

    正确答案:D

  • 第8题:

    关于层三滤波方法,描述正确的是:()

    • A、Fn=aFn-1+(1-a)M
    • B、Fn=(1/a)Fn-1+aM
    • C、Fn=(1-a)Fn-1+aM
    • D、Fn=aFn-1+(1/a)M

    正确答案:C

  • 第9题:

    关于层三滤波方法,描述正确的是:()

    • A、Fn=aFn-1+(1-A.M
    • B、B.Fn=(1/Fn-1+aM
    • C、C.Fn=(1-Fn-1+aM
    • D、D.Fn=aFn-1+(1/M

    正确答案:C

  • 第10题:

    目前国内10kv级负荷开关种类较少,主导产品()均为手动操作,固体产气,刀闸断口,空气绝缘。

    • A、FN1、FN2
    • B、FN2、FN3
    • C、FN1、FN3
    • D、FN3、FN4

    正确答案:B

  • 第11题:

    单选题
    A

    FN1=-6

    B

    FN2=-18

    C

    FN2=4

    D

    FN2=-12


    正确答案: A
    解析:

  • 第12题:

    单选题
    变压器一次侧绕组感应电动势为()
    A

    E1=4.44fN1φm

    B

    E1=2.22fN1φm

    C

    E1=4.44F N2φm


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

  • 第13题:

    计算斐波那契数列第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次。

  • 第14题:

    设关系模式R<U,F>分解为关系模式R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>,若F+=(F1∪F2∪…∪Fn)+,即F所逻辑蕴含的函数依赖一定也由分解得到的各个关系模式中的函数依赖所逻辑蕴含,则称关系模式R的这个分解是【 】的。


    正确答案:保持函数依赖
    保持函数依赖 解析:根据定义:将一个关系模式R〈U,F〉分解为若干个关系模式R1〈U1,F1〉,R2〈U2,F2〉,… ,Rn〈Un,Fn〉,若(F1∪F2 ∪ …∪Fn)+ = F+,则称关系模式R的这个分解是保持函数依赖的。

  • 第15题:

    有如下的一个函数过程:Function fn(ByVal num As Long) Dim k As Long k= 1 num = Abs(num) do while num k = k * (num Mod 10) num= num\10 Loop fn=kEnd Function 以下是一个调用该函数的事件过程,在运行该程序后,在输入对话框中输入数字123,该过程的运行结果是 ______。Private Sub Command1_Click() Dim n As Long Dim r As Long n = CLng(n) r = fn(n) Print rEnd Sub

    A.12

    B.6

    C.3

    D.1


    正确答案:B
    解析:本题的难点在于理解求余和整除运算。当“num=123”时,程序计算过程为“3×2×1=6”。

  • 第16题:

    铅垂振动台的运动规律y=asinωt。图上点0,1,2各为台的平衡位置。振动最高点与最低点。台上颗粒重W。设颗粒与台面永不脱离,则振动台在这三个位置作用于颗粒的约束力FN大小的关系为:

    A. FN1N0=WN2 B.FN1>FN0=W>FN2
    C. FN1=FN0=FN2=W D.FN1=FN2N0=W


    答案:A
    解析:
    提示:应用牛顿第二定律。

  • 第17题:

    复利计息时,几个计息周期后的本利和是()。

    A:Fn=P·n·i
    B:Fn=P(1+i·n)
    C:Fn=P[(1-i)n-i]
    D:Fn=P(1+i)n

    答案:D
    解析:
    复利计息,是指对于某一计息周期来说,按本金加上先前计息周期所累计的利息进行计息,即“利息再生利息”。则第n个计息周期后的本利和为:Fn=P(1+i)n-1+P(1+i)n-1·i=P(1+i)n。

  • 第18题:

    变压器一次侧绕组感应电动势为()

    AE1=4.44fN1φm

    BE1=2.22fN1φm

    CE1=4.44F N2φm


    A

  • 第19题:

    设函数f(x)=xex,则fn(1)=()。

    • A、(n-1)e
    • B、ne
    • C、(n+1)e
    • D、n+1

    正确答案:C

  • 第20题:

    Power Manager电源管理的启动热键是()

    • A、Fn+F2
    • B、Fn+F7
    • C、Fn+F3
    • D、Fn+F4

    正确答案:C

  • 第21题:

    当频率为f的交流电源电压,加到一、二次绕组匝数分别为N1、N2的变压器的一次绕组后,以下说法正确的为()。

    • A、一次侧绕组中的感应电势为E1=4.44fN1Fm
    • B、一次侧绕组中的感应电势为E1=2.22fN1Fm
    • C、二次侧绕组中的感应电势为E2=2.22fN2Fm
    • D、二次侧绕组中的感应电势为E2=4.44fN2Fm

    正确答案:A,C

  • 第22题:

    单选题
    对于数列Fn,若F1=F2=1,Fn=Fn-1+Fn-2,则F8=()。
    A

    7.0

    B

    14.0

    C

    21.0

    D

    28.0


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

  • 第23题:

    单选题
    关于层三滤波方法,描述正确的是:()
    A

    Fn=aFn-1+(1-A.M

    B

    B.Fn=(1/Fn-1+aM

    C

    C.Fn=(1-Fn-1+aM

    D

    D.Fn=aFn-1+(1/M


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

  • 第24题:

    单选题
    交一交变频调速系统适用的调频范围为()
    A

    0~fN

    B

    1/2fN~fN

    C

    1/3fN~fN

    D

    1/2fN~1/3fN


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