[单选题]

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

参考答案与解析:

相关试题

设有一个递归算法如下: int fact(int n){ if(n<=0)ret

[单选题]设有一个递归算法如下: int 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的定义如下: intf(intn) { If(n<=1)retur

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

  • 查看答案
  • 已知递归函数f的定义如下: int f(int n){ if(n<= 1)ret

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

  • 查看答案
  • 已知递归函数fun的定义如下:int fun(int n){if(n<=1)re

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

  • 查看答案
  • 已知递归函数fun的定义如下:int fun(int n){if(n<=1)re

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

  • 查看答案
  • 有如下程序:main(){int k=4, n=0;for(; n<k; ){n

    [单选题]有如下程序: main() { int k=4, n=0; for(; n<k; ) { n++; if(n% 3!=0)continue; k--; } printf(" % d, % d/n", k, n); 程序运行后的输出结果是______。A.1, 1B.2, 2C.3, 3D.4, 4

  • 查看答案
  • 设求解某问题的递归算法如下: F(int n){ if(n=£­=1){Move

    [单选题]设求解某问题的递归算法如下:F.(int n){if(n=-=1){Move(1);}else{F.(n-1);Move(n);F.(n-1);}}求解该算法的计算时间时,仅考虑算法Move所做的计算为主要计算,且Move为常数级算法。则算法F的计算时间T(n)的递推关系式为(53):设算法Move的计算时间为k,当n=4时,算法F的计算时间为(54)。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(int n){ if n==1{ Move(1

    [单选题]设求解某问题的递归算法如下: 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

  • 查看答案
  • ( 8 )已知递归函数 f 的定义如下:int f(int n){if (n <

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

  • 查看答案
  • 有以下程序:main(){int k=4,n=0;for(; n<k;){n£«

    [单选题]有以下程序: main() { int k=4,n=0; for(; n<k;) { n++; if(n%3!=O) continue; k--; } printf("%d,%d/n",k,n); } 程序运行后的输出结果是( )。A.1,1B.2,2C.3,3D.4,4

  • 查看答案
  • 设有一个递归算法如下 im fact(int n){ if(n<=0)retur