网友您好, 请在下方输入框内输入要搜索的题目:

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

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

参考答案

参考解析
解析:本题考查程序语言基础知识。
分析递归代码执行过程可知,由于调用函数时系统需要在栈区开辟支持函数运行时需要的空间(大多数局部变量的存储单元即分配在此空间中),同时还需造成控制流的转移、返回位置的记录和恢复等工作,同时在该例子中存在着重复计算,例如计算只时要通过递归调用分别计算F3和F2,而在计算F3时,则要通过递归调用分别计算F2和F1,其中F2的计算会重复,因此递归代码执行时需要进行一系列的函数调用及返回且存在重复计算都是比较耗时的。
更多 “Fibnacci数列的定义为:F0=0,F1=1,Fn=Fn-1+Fn-2(n≥2,n∈N*),要计算该数列的任意项Fn,既可以采用递归方式编程也可以采用循环语句编程,由于( ),所以需要较多的运行时间。A.递归代码经编译后形成较长目标代码 B.递归代码执行时多次复制同一段目标代码 C.递归代码执行时需要进行一系列的函数调用及返回且存在重复计算 D.递归代码执行过程中重复存取相同的数据 ” 相关考题
考题 ●当程序运行陷于死循环时,说明程序中存在 (41) 。在C语言中,函数定义及函数调用应该遵循的原则是 (42) 。以求n!为例,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是 (43) 。(41) A.词法错误B.静态的语义错误C.语法错误D.动态的语义错误(42) A.可以进行函数的嵌套定义,不可以进行函数的嵌套调用B.不可以进行函数的嵌套定义,可以进行函数的嵌套调用C.既不能进行函数的嵌套定义,也不能进行函数的嵌套调用D.既可以进行函数的嵌套定义,也可以进行函数的嵌套调用(43) A.递归程序经编译后形成较长目标代码,所以需要较多的运行时间B.递归程序执行过程中重复存取相同的数据占用了较多的时间C.递归程序执行时一系列的函数调用及返回占用了较多的时间D.递归程序执行时多次复制同一段目标代码占用了较多的时间

考题 ( 8 )已知递归函数 f 的定义如下:int f(int n){if (n = 1) return 1; // 递归结束情况else return n * f(n-2); // 递归 }则函数调用语句 f(5) 的返回值是 【 8 】 。

考题 已知递归函数f的定义如下:int f(int n){if(n<= 1)return 1;//递归结束情况f5=5*f3=5*3*f1else return n*f(n-2); //递归}则函数调用语句f(5)的返回值是______。

考题 ( 9 )下面的函数利用递归实现了求 1+2+3+ …… +n 的功能:int sum ( int n ) {if ( n==0 )return 0;elsereturn n+sum ( n-1 ) ;}在执行 sum ( 10 )的过程中,递归调用 sum 函数的次数是【 9 】 。

考题 已知递归函数fun的定义如下: int fun(int n) { if(n<=1)return 1;//递归结束情况 else return n*fun(n-2);//递归 } 则函数调用语句fun(5)的返回值是( )。A.5B.12C.15D.30

考题 一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程()。A.较快B.较慢C.相同D.无法确定

考题 堆栈溢出一般是由什么原因导致的。() A.循环的递归调用B.大数据结构的局部变量C.函数代码长度过长D.代码运行时错误

考题 阅读以下说明和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中错误所在行修改正确后的完整代码。

考题 设有一个递归算法如下 im fact(int n){ if(n<=0)return 1; else return n * fact(n-1); } 下面正确的叙述是(35)。A.计算fact(n)需要执行n次函数调用B.计算fact(n)需要执行n+1次函数调用C.计算fact(n)需要执行n+2次函数调用D.计算fact(n)需要执行n-1次函数调用

考题 已知递归函数f(n)的功能是计算 1+2+3…n,且n=1,应采用的代码段是_____.

考题 已知递归函数f(n)的功能是计算1+2+…+n,且n≥1,应采用的代码段是______。A.if n>1 then return 1 else return n+f(n-1)B.if n>1 then return 1 else return n+f(n+1)C.if n<1 then return 0 else return n+f(n-1)D.if n<1 then return 0 else return n+f(n+1)

考题 已知递归函数f(n)的功能是打印n,n-1,…,1,且n>=1,应采用的代码段是(42)。A.if n>1 then f(n-1); printf("% d",n);B.if n<1 then f(n+1); printf("% d", n);C.printf("% d",n); if n>1 then f(n-1);D.printf("% d", n); if n<1 then f(n+1);

考题 已知递归函数fun的定义如下: int fun(int n) { if(n<=1)return1;//递归结束情况 else return n*fun(n-2);//递归 } 则函数调用语句fun(5)的返回值是( )。A.5B.12C.15D.30

考题 在 ______ 情况下适宜采用inline定义内联函数。A.函数体含有循环语句B.函数体含有递归语句C.函数代码少、频繁调用D.函数代码多、不常调用

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

考题 已知递归函数f的定义如下:int f(int n){if(n <=1)return 1; //递归结束情况else return n*f(n-2); //递归}则函数调用语句f(5)的返回值是【 】。

考题 设n的初值为正整数,设计一个递归算法如下:int fact(int n){if(n<=0)return 1;else return(n*fact(n-1));}以下叙述中,正确的是______。A.计算fact(n)需要执行n+2次函数调用 B.计算fact(n)需要执行n+1次函数调用 C.计算fact(n)需要执行n次函数调用 D.计算fact(n)需要执行n-1次函数调用

考题 递归的好处描述不正确的是()。A、只需少量的程序就可描述出解题过程所需要的多次重复计算B、需要大量的程序就可描述出解题过程所需要的多次重复计算C、大大地增加了程序的代码量D、大大地减少了程序的代码量

考题 在下述哪种情况下适宜采用inline定义内联函数。()A、函数体含有循环语句B、函数体含有递归语句C、函数代码少、频繁调用D、函数体含有switch语句

考题 数据结构与算法里,关于递归说法正确的是()。A、递归是函数自身调用编程技术B、有返回值的函数可以是递归的函数C、无返回值函数是不能使用递归的D、递归分为直接递归和间接递归

考题 关于递归的有关内容描述项正确的是()A、可以采用递归解决汉诺塔游戏的问题B、递归可以分为直接递归与间接递归C、可以采用递归解决求一个数n!问题D、递归就是在过程或函数里调用自身

考题 python中递归函数的作用()A、缩小问题规模B、代码简洁C、代码易懂D、代码清晰

考题 多选题数据结构与算法里,关于递归说法正确的是()。A递归是函数自身调用编程技术B有返回值的函数可以是递归的函数C无返回值函数是不能使用递归的D递归分为直接递归和间接递归

考题 单选题在下述哪种情况下适宜采用inline定义内联函数。()A 函数体含有循环语句B 函数体含有递归语句C 函数代码少、频繁调用D 函数体含有switch语句

考题 多选题python中递归函数的作用()A缩小问题规模B代码简洁C代码易懂D代码清晰

考题 单选题适宜采用inline定义函数情况是()A 函数体含有循环语句B 函数体含有递归语句C 函数代码少、频繁调用D 函数代码多、不常调用

考题 多选题递归的好处描述不正确的是()。A只需少量的程序就可描述出解题过程所需要的多次重复计算B需要大量的程序就可描述出解题过程所需要的多次重复计算C大大地增加了程序的代码量D大大地减少了程序的代码量