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

题目内容 (请给出正确答案)

下面factorial函数的空格部分应该填写的代码为() def factorial(n): if n == 0: # Base case return 1 else: return _____________________ # Recursive call

A.n * (n - 1)

B.n

C.n * factorial(n - 1)

D.factorial(n) * n


参考答案和解析
B
更多 “下面factorial函数的空格部分应该填写的代码为() def factorial(n): if n == 0: # Base case return 1 else: return _____________________ # Recursive callA.n * (n - 1)B.nC.n * factorial(n - 1)D.factorial(n) * n” 相关考题
考题 已知递归函数f 的定义如下:int f (int n){If(n=1)return 1;//递归结束情况else return n*f(n-2);//递归}则函数调用语句f(5)的返回值是( )。

考题 下面是计算n的阶乘的递归函数,请将该函数的定义补充完整。unsigned f(unsigned n){if(n<=1) return 1;else return 【 】;}

考题 下列程序的输出结果为includeint func (int n){if ( n 下列程序的输出结果为 #include<iostream.h> int func (int n) { if ( n <1)return l; else return n+func ( n-1 ); return O; } void main( 0 { cout <<func(5)<<end1; }A.0B.10C.15D.16

考题 ( 21 )计算斐波那契数列第 n 项的函数定义如下:Int fib(int n){if (n == 0) return 1;else if (n == 1) return 2;else return fib(n-1)+fib(n-2);}若执行函数调用表达式 fib(2) ,函数 fib 被调用的次数是A ) 1B ) 2C ) 3D ) 4

考题 下列程序的输出结果为#include iostream. hint func(int n){if〔n1)return 1;else return n+tune(n-1):return 0;}void main(){coutA. 0B.10C.15D.16

考题 阅读下列利用递归来求 n! 的程序Class FactorialTest{Static long Factorial (int n) { // 定义 Factorial () 方法If (n==1)Return 1;ElseReturn n* Factorial(_____);}Public static void main (String a[]) { // main () 方法Int n=8;System.out.println{n+ ” ! = ” +Factorial (n)};}}为保证程序正确运行,在下划线处应该填入的参数是A ) n-1B ) n-2C ) nD ) n+1

考题 下面算法的时间复杂度为(34)。 int f(unsigned int n){ if(n=0||n==1)return 1; else return n*f(n-1); }A.O(1)B.O(n)C.O(n2)D.O(n!)

考题 阅读下面利用递归来求n!的程序 class FactorialTest { static long Factorial(int n){ //定义Factorial()方法 if(n==1)return 1; else return n * Factorial(______); } public static void main(String a[]) { //main()方法 int n=8; System.out.println(n+"!="+Factorial(n)); } } 为保证程序正确运行,在下画线处应该填入的参数是A.n-1B.n-2C.nD.n+1

考题 下面是一个递归Java程序,其功能为 ( )long Factorial(int n){ if(1==n){ return 1; } else return n*Factorial(n-1);}A.求1-n的和B.求2到n的和C.求n的阶乘D.求2-n的积

考题 设有一个递归算法如下int fact(intn){//n 大于等于0 if(n<=0)return 1; else return n* fact(n--); }则计算fact(n)需要调用该函数的次数为(30)次。A.nB.n+1C.n+2D.n-1

考题 设有一个递归算法如下 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次函数调用

考题 计算N!的递归算法如下,求解该算法的时间复杂度时,只考虑相乘操作,则算法的计算时间T(n)的递推关系式为(55);对应时间复杂度为(56)。int Factorial (int n){//计算n!if(n<=1)return 1;else return n * Factorial(n-1);}(62)A.T(n)=T(n-1)+1B.T(n)=T(n-1)C.T(n)=2T(n-1)+1D.T(n)=2T(n-1)-1

考题 设有如下函数定义int fun(int k){if(k1) return 0:else if(k==1) return 1:else return fun(k一1)+1:}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是A.2B.3C.4D.5

考题 下列程序的输出结果为( )。 int fun(int n){ if(n==0)return 1; else return n*fun(n-1): return 0; } void main() { eout<<func(4)<<endl;}A.1B.10C.24D.11

考题 下面的函数是完成1~n的累加,请填空。a(int k){ if(k =0) printf("error\n"); if(k == 1) return 1; else;}

考题 能保证对所有的参数能够结束的递归函数是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);)

考题 阅读下列利用递归来求n!的程序。 class FactorialTest{ static long Factorial(int n){//定义Factorial方法 if(n= =1) return l; else return n*Factorial{ }; } public static void main{String a[]}{ //main方法 int n=8: System.out.println{n+"!="+Factorial (n)}; } } 为保证程序正确运行,在下画线处应该填入的参数是( )。A.n-1B.n-2C.nD.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)

考题 下列程序的输出结果为includeint func(int n){ if(n 下列程序的输出结果为 #include<iostream.h> int func(int n) { if(n<1)return1; else return n+func(n-1); return 0; } void main() { cout<<func(5)<<end1; }A.0B.10C.15D.16

考题 下列程序的输出结果为( )。 #includeiostream.h) int fune(int n) { if(n1)return l; else return n+time(n一1); return 0; } void main { coutfunc(5)endl; }A.0B.10C.15D.16

考题 下面 ______ 是正确的递归函数,它保证对所有的参数能够结束。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); }

考题 下列函数中,哪项是正确的递归函数( )。A int Fun(int n){if(n<1) return 1;else return n*Fun(n+1);}B) int Fun(ira n){if(abs(n)<1) return 1;else return n*Fun(n/2);}C) int Fun(int n){if(n>1) return 1;else return n*Fun(n*2)1}D) int Fun(int n){if(n>1) return 1;else retun n*Fun(n-1);}A.AB.BC.CD.D

考题 阅读下列利用递归来求n!的程序 class Factorial Test{ staticlong Factorial(intn){//定义Factorial()方法 if(n==1) retum 1; else returnn*Factorial{{_____}; } publicstaticvoidmain{Stringa[)){//main()方法 intn=8; System.out.println{n+"!="+Factorial(n)}; } } 为保证程序正确运行,在下划线处应该填入的参数是( )。A.n-1B.n-2C.nD.n+1

考题 递归函数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)

考题 第三题 阅读以下代码和问题,回答问题1至问题3,将解答填入答题纸的对应栏内。 【代码 1】 typedef enum {A,B,C,D} EnumType; EnumType f(int yr) { if(0 == yr%400) { return A; } else if (!(yr%4)) { if(0!=yr%100) return B; else return C; } return D; } 【代码2 】 #include int main() { int score; scanf("%d", switch (score) { case 5: printf("Excellent!\n"); case 4: printf("Good!\n"); break; case 3: printf("Average!\n"); case 2: case 1: case 0: printf("Poor!\n"); default: printf("Oops,Error\n"); } return 0; } 【代码3】 #include int main() { int i,j,k; for(i=0; i for(j=0; j for( k=0; k if(i!=j } ruturn 0; } 问题:3.1 (4分) 对于代码1,写出下面的函数调用后x1 、x2、x3和x4的值。 x1 = f(1997); x2 = f(2000); x3 = f(2100); x4 = f(2020); 问题:3.2 (5分) (1)写出代码2进行时输入为3的输出结果; (2)写出代码2进行时输入为5的输出结果。 问题:3.3 (6分) 写出代码3运行后的输出结果。

考题 阅读以下C代码,回答问题1至问题3,将解答填入答题纸的对应栏内。【C代码1】 float adjustSalary(int service_year,int age,float salary) { if( service_year 30 ) salary *= 1.2; } else salary *= 2.0; return salary;} 【C代码2】 void foo(int coin) { switch (coin) { case 1: printf("Cent\n"); case 5: printf("Nicke1\n");break; case 10: printf("Dime\n"); case 25: printf("Quarter\n"); }} 【C代码3】 int getSum(int n){ int t, i = 0, sum = 0; while ( i

考题 设有一个递归算法如下: int fact(int n) {  //n大于等于0               if(n=0) return 1;               else return n*fact(n-1);        }  则计算fact(n)需要调用该函数的次数为()A、 n+1B、 n-1C、 nD、 n+2

考题 单选题设有一个递归算法如下: int fact(int n) {  //n大于等于0               if(n=0) return 1;               else return n*fact(n-1);        }  则计算fact(n)需要调用该函数的次数为()A  n+1B  n-1C  nD  n+2