• 2021-04-14
    在下列程序中,调用f(5)的值是(  )
    int f(int n)
    { if(n==1) return(1);
    else if(n==2) return(2);
    else return(f(n-1)+f(n-2));
    }
  • (A) 8

    内容

    • 0

      下面程序执行的结果是 。#include<;stdio.h>;int f(int );int main(){int z;z=f(5);printf("%d\n",z);return 0;}int f(int n){if(n==1||n==2)return 1;elsereturn f(n-1)+f(n-2);}

    • 1

      下列函数中,哪项是正确的递归函数( )。 A: A int Fun(int n) B: if(n<1) return 1; C: else D: return n*Fun(n+1); E: B) int Fun(ira n) F: if(abs(n)<1) return 1; G: else H: return n*Fun(n/2); I: C) int Fun(int n) J: if(n>1) return 1; K: else L: return n*Fun(n*2)1 M: D) int Fun(int n) N: if(n>1) return 1; O: else P: retun n*Fun(n-1);

    • 2

      下列程序段 A 与 B 功能等价,请填写程序段 B 中相应语句。 程序段A: int f( int n )  {              if(n<=1)                               return n;                      else                               return f(n-1)+f(n-2); }  程序B: int f( int n )______;                   t0=0; t1=1; t=n;                     while ( n>1 ) {                          t = t0+t1 ;                          t0 = t1;                          t1 = t;                          n - -;                       }                        return t ;  }

    • 3

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

    • 4

      中国大学MOOC: 下面算法的时间复杂度为____________。int f( unsigned int n ) {if ( n==0 || n==1 ) return 1; else return n*f(n-1); }