下面哪个是正确的递归函数
A: def fun1(n): if n==1: return 1 else: return n*fun1(n-1)
B: def fun2(n): if n==1: return 1 else: return n*fun2(n+1)
C: def fun3(n): return n*fun3(n-1)
D: def fun4(n): return n*fun4(n+1)
A: def fun1(n): if n==1: return 1 else: return n*fun1(n-1)
B: def fun2(n): if n==1: return 1 else: return n*fun2(n+1)
C: def fun3(n): return n*fun3(n-1)
D: def fun4(n): return n*fun4(n+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);
- 下述程序的结果是_______。 fun(int n) { if(n==1) return (1); else return(n*fun(n-1)); } int main() { int i=5; printf(“%d”,fun(i); }
- 对于下面递归函数fun,调用fun(3) 的返回值是 。 fun(int n) { return ((n>0) ? 2*fun(n-1)+fun(n-2) : -1); }
- 以下程序的运行结果为: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;}
- 下列程序的运行结果是main(){ printf(“%d”,fun(5));}fun(int n){ if(n==1) return 1;return n-fun(n-1);}