中国大学MOOC: 当n = 5时,下列函数的返回值是:( ) int foo(int n) { if (n < 2) return n; return foo(n - 1) + foo(n - 2);}
举一反三
- #include int sub(int n) { if(n<5) return 0; else if(n>12) return 3; return 1; if(n>5) return 2; } int main() { int a=10; printf("%d\n",sub(a)); return 0;}
- 下列函数中,哪项是正确的递归函数( )。 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);
- 设计isPrime 函数,其功能:判断n是否为素数,若是,返回1,否则返回0,下列哪个设计的函数是错误的 A: int isPrime(int n) { int i; for(i = 2; i <= sqrt(n); i++) if(n % i == 0) return 0; return 1; } B: int isPrime(int n) { int i; for(i = 2; i < n; i++) if(!(n % i)) return 0; return 1; } C: int isPrime(int n) { int i,iPri=1; for(i = 2; i <= sqrt(n); i++) if(!(n % i)) iPri=0; return iPri; } D: int isPrime(int n) { int i,iPri=1; for(i = 2; i <= sqrt(n); i++) if(n % i == 0) iPri=0; break; return iPri; }
- 在下列程序中,调用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)); }
- 中国大学MOOC: 对于以下递归函数f,调用f(4)的返回值是__________。int f(int n) {if (n) return f(n-1)+n;else return n;}