更多“已知递归函数f的定义如下: intf(intn) { If(n<=1)return1;//递归结束情况 elsere ”相关问题
  • 第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); }


    正确答案:C

  • 第2题:

    已知递归函数f的定义如下: int f(int n) { if (n<=1) return 1; else return n*f(n-2); } 则函数调用语句f(5)的返回值是:

    A.14

    B.15

    C.16

    D.17


    1

  • 第3题:

    对于以下递归函数f,调用f(4)的返回值是__________。 int f(int n) { if (n) return f(n-1)+n; else return n; }

    A.无穷递归

    B.4

    C.10

    D.14


    以上均不是

  • 第4题:

    已知递归函数f的定义如下:

    int f(int n)

    {

    if(n <=1)return 1; //递归结束情况

    else return n*f(n-2); //递归}

    则函数调用语句f(5)的返回值是【 】。


    正确答案:15
    15 解析:本题考查的是递归算法的分析。一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的,f()函数在n小于等于1时返回1,而在其余情况下返回n*f(n-2)。所以本题的递归算法可以表示为:

    题目要求的结果是f(5),即f(5)=5*f(3)=5*3*f(1)=5*3*1=15。故应该填15。

  • 第5题:

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


    15