对于下面递归函数fun,调用fun(3) 的返回值是 。 fun(int n) { return ((n>0) ? 2*fun(n-1)+fun(n-2) : -1); }
-17
举一反三
- 下列函数中,哪项是正确的递归函数( )。 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);
- 有以下递归算法:int fun(int n)f{if (n==1 1l n==0) return n;elsereturn n + fun(n/2);}其中递归体是n==1或n==0时返回n.
- 下述程序的结果是_______。 fun(int n) { if(n==1) return (1); else return(n*fun(n-1)); } int main() { int i=5; printf(“%d”,fun(i); }
- 读程序并写结果。#include stdio.hlong fun(int n){ long s;if(n==1||n==2)s=2;elses=n-fun(n-1);return s;}int main(){ printf(%ld\n,fun(3)); return 0;}
- 以下程序的运行结果为:int fun(int n){ if(n==1) return 1; else return fun(n-1)+1;} int main(){ int i,j=0; for(i=1;i<3;i++) j += fun(i); printf("%d\n",j); return 0;}
内容
- 0
以下程序的输出结果是( ). int fun(int n,int *s) { int f1,f2; if(n==0‖n==1) *s=1; else { fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2; } } main( ) { int x; fun(6,&x); printf("\n%d" ,x); }
- 1
中国大学MOOC: int fun(int k){ if (k<1) return 0; else if(k==1) return 1; else return fun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( )。
- 2
下列程序的输出结果是【 】。 long fun(int n) { long s; if(n==1||n==2) s=2; else s=n+fun(n-1); return s; } int main() { cout<<fun(4); return 0; }
- 3
有以下程序 void fun(int n,int p) int f1,f2 if(n==1||n==2) p=1 else fun(n-1,
- 4
阅读下面程序段,则执行后的结果是。 #include longfun(intn) {if(n>2) return(fun(n-1)+fun(n-2)); elsereturn(2); } intmain() {printf(“%ld﹨n”,fun(5)); return0; }