2、递归模型为f(1)=1,f(n)=f(n-1)+n (n1),其中递归体是 。A.(1)=0B.f(0)=1C.f(n)=f(n-1)+nD.f(n)=n
2、递归模型为f(1)=1,f(n)=f(n-1)+n (n>1),其中递归体是 。
A.(1)=0
B.f(0)=1
C.f(n)=f(n-1)+n
D.f(n)=n
参考答案和解析
一般来说,一个递归模型由递归出口和递归体两部分组成。前者表示递归何时结束,是最小问题的解;后者确定递归求解时的递归关系。
相关考题:
●已知递归函数f(n)的功能是打印n,n-1,…,1,且n=1,应采用的代码段是 (42) 。(42) A.if n1 then f(n-1);printf("%d",n);B.if n1 then f(n+1);printf("%d",n);C.printf("%d",n);if n1 then f(n-1);D.printf("%d",n);if n1 then f(n+1);
已知递归函数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; // 递归结束情况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)的返回值是______。
小宋在上楼梯时,有时一步一级楼梯,有时一步两级。如果楼梯有N级,问他上完这N级楼梯有多少种?对于这样的问题,我们用递归来解决,我们可以假设用f(n)表示从第0级上到第N级的方法数,考虑他最后一步的情况,有两种,一种是最后是跨了 一级,一种是最后跨了两级,所以得到递归关系式f(n)=f(n-l)+f(n-2),还需要有递归出口,下面哪个选项描述的递归出口满足该题目(),A. f(O)=lB. f(O)=l 和 f(1)=1C. f(l)=lD. f(l)=l 和 f(3)=3
设求解某问题的递归算法如下: F(int n){ if n==1{ Move(1); } else{ F(n-1); Move(n); F(n-1); } } 求解该算法的计算时间时,仅考虑算法Move所进行的计算为主要计算,且Move为常数级算法,设算法Move的计算时间为k,当n=5时,算法F的计算时间为(42)。A.7kB.15kC.31kD.63k
下列各项中(r表示利率、n表示时期),可用于根据年金(用R表示)计算终值(用F表示)的是( )。A.F=R×r(1+r)n/[(1+r)n-1]B.F=R×[(1+r)n-1]/rC.F=R×r/×[(1+r)n-1]D.F=R×[(1+r)n-1]/r(1+r)n
能保证对所有的参数能够结束的递归函数是A.int f(int n){if(n<1)return 1;else return n*f(n+1);}B.int f(int n){if(n>1)return 1;else return n*f(n-1);}C.int f(int n){if(abs(n)<1)return 1;else return n*f(n/2);}D.int f(int n){if(n>1)return 1;else return n*f(n*2);)
设求解某问题的递归算法如下:F(int n){if n=1 {Move(1)}else{F(n-1);Move(n);F(n-1);}}求解该算法的计算时间时,仅考虑算法Move所做的计算为主要计算,且Move为常数级算法。则算法F的计算时间T(n)的递推关系式为(9);设算法Move的计算时间为k,当 n=4时,算法F的计算时间为(10)。A.T(n)=T(n-1)+1B.T(n)=2T(n-1)C.T(n)=2T(n-1)+1D.T(n)=2T(n+1)+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);
下面 ______ 是正确的递归函数,它保证对所有的参数能够结束。A.int f(int n){ if(n<1) return 1; else return n*f(n+1); }B.int f(int n){ if(n>1) return 1; else return n*f(n-1); }C.int f(int n){ if(abs(n)<1) return 1; else return n*f(n/2); }D.int f(int n){ if(n>1) return 1; else return n*f(n*2); }
菲波那契(Fibonacci)数列定义为 f(1)=1,f(2)=1,n2时f(n)=f(n-1)+f(n-2) 据此可以导出,n1时,有向量的递推关系式: (f(n+1),f(n))=f(f(n),f(n-1))A 其中A是2*2矩阵( )。从而,(f(n+1),f(n)=(f(2),f(1))*( )A.B.C.D.A.An-1B.AnC.An+1D.An+2
递归函数f(n)的功能是计算1+2+…+n,且n≥1,则f(n)的代码段是(49)。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)
设n位二进制数(从000到111)中不含连续三位数字相同的数共有F(n)个,显然F(1)=2,F(2)=4。以下选项中有一个公式是正确的,通过实例验证选出的是( )。A.F(n)=2n (n1) B.F(n)=n2-n+2 (n1) C.F(n)=F(n-1)+4n-6 (n2) D.F(n)=F(n-1)+F(n-2) (n3)
菲波那契(Fibonacci)数列定义为f(1)=1,f(2)=1,n>2时f(n)=f(n-1)+f(n-2)据此可以导出,n>1时,有向量的递推关系式:(f(n+1),f(n))=f(f(n),f(n-1))A其中A是2*2矩阵()。从而,f(n+1),f(n)=(f(2),f(1))*(65).A.An-1B.AnC. An+1D. An+2
菲波那契(Fibonacci)数列定义为f(1)=1,f(2)=1,n>2时f(n)=f(n-1)+f(n-2)据此可以导出,n>1时,有向量的递推关系式:(f(n+1),f(n))=f(f(n),f(n-1))A其中A是2*2矩阵(64)。从而,f(n+1),f(n)=(f(2),f(1))*(65).
设n位二进制数(从00…0到11…1)中不含连续三位数字相同的数共有F(n)个,显然F(1)=2,F(2)=4。以下选项中有一个公式是正确的,通过实例验证选出的是( )。A.F(n)=2n (n≥1)B.F(n)=n2-n+2 (n≥1)C.F(n)=F(n-1)+4n-6 (n≥2)D.F(n)=F(n-1)+F(n-2) (n≥3)
设函数f(χ)=(eχ-1)(e2χ-2)…(enχ-n),其中n为正整数,则f’(O)=( )。A、(-1)n-1(n-1)!B、(-1)n(n-1)!C、(-1)n-1n!D、(-1)nn!
单选题递归函数f(n)=f(n-1)+n(n1)的递归出口是()A f(1)=0B f(1)=1C f(0)=1D f(n)=n