( 9 )下面的函数利用递归实现了求 1+2+3+ …… +n 的功能:int sum ( int n ) {if ( n==0 )return 0;elsereturn n+sum ( n-1 ) ;}在执行 sum ( 10 )的过程中,递归调用 sum 函数的次数是【 9 】 。
( 9 )下面的函数利用递归实现了求 1+2+3+ …… +n 的功能:
int sum ( int n ) {
if ( n==0 )
return 0;
else
return n+sum ( n-1 ) ;
}
在执行 sum ( 10 )的过程中,递归调用 sum 函数的次数是【 9 】 。
相关考题:
关于下面函数,哪一个是错误描述?n为整数defsum(n):ifn A.功能等价于下面的函数#n为整数defsum2(n):return(1+n)*n/2B.sum(5)是函数调用C.是递归函数D.求任意两个数值n和n-1的和
阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明1]函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。[C函数] int isPrime(int n) { int k, t; if (n==2) return 1; if(n<2 || ______)return 0; /*小于2的数或大于2的偶数不是素数// t=(int)Sqrt(n)+1; for(k=3; k<t; k+=2) if(______) return 0; return 1; }[说明2]函数int minOne(int art[],int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。[C函数]int minOne(int arr[],int k){int t;assert(k>0);if(k==1)return ______;t=minOne(arr+1,______);if(arr[0]<t)return amr[0];return ______;}
8、下面函数是求阶乘的递归函数,请将程序补充完整。 long Fact(int n) { if (n < 0) return 0; if (n==1 || n==0) __________________; else ____________________; }A.第4行: return 1 第5行: return n*Fact(n-1)B.第4行: return 0 第5行: return n*Fact(n-1)C.第4行: return -1 第5行: return (n-1)*Fact(n)D.第4行: return 1 第5行: return Fact(n-1)
12、下面函数是求阶乘的递归函数,请将程序补充完整。 long Fact(int n) { if (n < 0) return 0; if (n==1 || n==0) __________________; else ____________________; }A.第4行: return 1 第5行: return n*Fact(n-1)B.第4行: return 0 第5行: return n*Fact(n-1)C.第4行: return -1 第5行: return (n-1)*Fact(n)D.第4行: return 1 第5行: return Fact(n-1)
下面是一个递归程序,其功能为? long Factorial(int n){ if(1==n || n==0){ return 1; } else return n*Factorial(n-1); }A.求1至n的累加和B.求n的阶乘C.求n-1的阶乘D.函数固定结果为1
下面程序可以正确求出1+2+3+。。。+n的和。() #include <stdio.h> int main() { int i = 1,sum = 0,n; scanf(“%d”,n); while (i <= n) sum = sum + i; ++i; printf("sum=%d",sum); return 0; }
7、下面的函数利用递归实现了求1+2+3…..+n的功能: int sum(int n){ if(n==0 ) return 0; else return n+sum(n-1); } 在执行sum(10)的过程中,递归调用sum函数的次数是()。A.9B.10C.11D.8
程序填空,使下面程序实现输出N!(N<=10000)的十进制位数。 #include <stdio.h> #include <math.h> int main () { int i, n; double sum; sum = 0.0; scanf("%d", n); for (i = 2; i <= n; i++) { sum +=_________; } printf ("%dn", (int)ceil(sum)); return 0; }
下面函数是求阶乘的递归函数,请将程序补充完整。 long Fact(int n) { if (n < 0) return 0; if (n==1 || n==0) __________________; else ____________________; }A.第4行: return 1 第5行: return n*Fact(n-1)B.第4行: return 0 第5行: return n*Fact(n-1)C.第4行: return -1 第5行: return (n-1)*Fact(n)D.第4行: return 1 第5行: return Fact(n-1)