A: 代码中n是可选参数
B: fact(n)函数功能为求n的阶乘
C: s是全局变量
D: range()函数的范围是[1,n+1]
举一反三
- 给出如下代码: def fact(n) s = 1 for i in range(1,n+1): s *= i return s 以下选项中描述错误的是()
- 下列函数能够求n的阶乘n!的是 A: f = lambda n: n! B: def f(n): s=1 for i in range(n): s = s * i return s C: def f(n): s=1 for i in range(n,0,-1): s = s * i return s D: def f(n): if n == 1: return 1 else: return f(n-1)*n
- 求n!。 请补充横线处代码: def fac(n): s=1 for i in range(2,n+1): return s
- 在以下函数中,i是() def fact(n): f=1 for i in range(1,n+1): f=f*i return f print(fact(5))
- 关于以下代码描述错误的是( )[img=356x130]17d60e534367fac.png[/img] A: fact(n)函数功能是求n的阶乘 B: range( )函数是python的内置函数 C: 代码中的 n 是可选参数 D: s是局部变量
内容
- 0
以下计算阶乘n!的函数fact,正确还是错误?def fact(n) if n == 0 : return 1 else: return n * fact(n-1)
- 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)
- 2
以下程序的功能是计算1到n的阶乘和,请填空。 long f(int n) { int i; long s; s=1; for(i=1; i <=n; i++) s=s*i; return s; } main() { long s; int k, n; scanf("%d", &n); s=0; for(k=0; k <=n; k++) s=s +_____ ;printf("%d\n",s); }
- 3
递归函数f(n)的功能是计算1+2+…+n,且n≥1,则f(n)的代码段是 (49) 。 A: if n>1 then return 1 else return n+f(n-1) B: if n>1 then return 1 else return n+f(n+1) C: if n>1 then return 0 else return n+f(n+1) D: if n<1 then return 0 else return n+f(n-1)
- 4
函数可以降低程序复杂度,现给出如下代码:[img=278x186]17da6fa03a5b001.png[/img]经分析,以下选项中描述正确的是( ) A: 代码中n是全局变量 B: 代码中n是可选参数 C: 语句return s可以删除 D: func1函数的功能是求n的阶乘