• 2022-06-11
    求n!。 请补充横线处代码: def fac(n): s=1 for i in range(2,n+1): return s
  • s=s*i;s*=i

    内容

    • 0

      下面哪个是正确的递归函数 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)

    • 1

      使用递归函数计算n!(n=0,1,2,3,……)的是( ) A: fac(int n) B: int i,f=1; C: if(n==0)return 1; D: else for(i=1;i<=n;i++)f*=i; E: return f; F: fac(int n) G: if(n==0||n==1)return 1; H: else return n*fac(n-1); I: fac(int n) J: int i=1,f=1; K: if(n==0)return 1; L: else while(i<=n)f*=i++; M: return f; N: fac(int n) O: int i=1,f=1; P: if(n==0)return 1; Q: else dof*=i;while(i++<n); R: return f;

    • 2

      如图程序,求偶数和,带数字标号的横线处的代码应为以下哪个选项?(选项中以/分隔代码) A: s=0/n+1/s+i B: s=1/n+1/s+i C: s=1/n/s+i D: s=0/n+1/s*i

    • 3

      写出下面代码的运行结果( )def fac(n): m... s=s+fac(i)print(s)

    • 4

      编写函数,求1!+2!+3!+ …+K!的和 long fac( ) { int i; long s,sum; s= ; sum= ; for(i=1;i<=K;i++) { s= ; sum= ; } return sum; } void main( ) { int K; scanf("%d",&K); printf("1!+2!+...+K!=%ld\n", fac(K)); }