• 2022-05-29
    中国大学MOOC: 下面的函数利用递归实现了求1+2+3…..+n的功能:int sum(int n){ if( n==0 ) return 0; else return n+sum(n-1);}在执行sum(10)的过程中,递归调用sum函数的次数是( )。
  • 10

    内容

    • 0

      ()设有一个递归算法如下 int fact(int n) { //n大于等于0 if(n<=0) return 1; else return n*fact(n-1); } 则计算fact(n)需要调用该函数的次数为( )

    • 1

      调用fac函数,求出1!+2!+3!…+10!,补充完整以下程序。 #include long fac(int n) //n!的定义 { int i; long t=1; for(i=2;i<=n;i++) _____①_____; return t; } void main() { int i;long sum=0; for(i=1;i<=10;i++) sum=_____②______;//调用fac()函数求解,否则不得分 printf("%ld ",sum); }

    • 2

      下列函数的时间复杂度是() int func(Int n){ int i=0,sum=0; while(sum<;n) sum+=++i; return i; } A: O(logn) B: O(n^1/2) C: O(n) D: O(nlogn)

    • 3

      下列函数int func ( int n ){ int i = 0, sum = 0;while ( sum <; n ) sum += ++i;return i;}的时间复杂度是 A: O(nlogn) B: O(n) C: O(n1/2) D: O(logn)

    • 4

      int fact(int n) { if ( n<=0) return 1 ; else return n*fact (n-1) ; } 则计算fact(n)需要调用该函数的次数为_____.