请阅读以下代码,调用函数factorial(4)的结果为()。
function factorial(n) { // 定义回调函数 if (n == 1) { return 1; // 递归出口 } return n * factorial(n - 1); }
function factorial(n) { // 定义回调函数 if (n == 1) { return 1; // 递归出口 } return n * factorial(n - 1); }
举一反三
- 2.{对于下列递归函数: A: f factorial(n): B: turn n * factorial(n - 1) C: )是正确的。} D: 调用factorial(0),返回值0 E: 调用factorial(1),返回值1 F: 调用factorial(2),返回值2 G: 调用factorial(3),返回值6 H: 函数无限运行,导致StackOverflowError异常
- 递归函数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)
- 该递归函数调用了几函数()def f(n):if n==1:return 1else:return f(n-1)*nn=5print(f(n)) A: 6 B: 3 C: 5 D: 1
- int F(int n){if(n==0)return 1;return n*F(n-1);}是一个递归函数。
- 28 有如下递归函数fact(n),其时间复杂度为( )。 int fact (int n) { if(n<=1) return 1; else return(n*fact(n-1)); }