定义计算n!的函数。? fa[n_]:= Block[{s=1},Do[s=s*k,{k,1,n}];s]|fc[n_]:= Block[{s=1},Do[s=s*k,{k,1,n}];s]|fd[n_]:= Module[{s=1},Do[s=s*k,{k,1,n}];s]|fb[n_]:= Module[{s=1},Do[s=s*k,{k,1,n}];s]
举一反三
- 以下程序的功能是计算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); }
- 下述程序段中, 与其他程序段的作用不同。 A: k=1; while (1) { s+=k ; k=k+1 ; if (k>100) break ; } printf(“\n%d”,s) ; B: k=1; Repeat : s+=k ; if (++k<=100) goto Repeat printf(“\n%d”,s) ; C: int k,s=0; for (k=1;k<=100;s+=++k); printf(“\n%d”,s) ; D: k=1; do s+=k; while (++k<=100) ;printf(“\n%d”,s) ;
- 下面程序的功能是计算 S= 0!+1!+2!+…+k! ( k>=0 )。 #include "stdio.h" long fun(int n) { int i; long s=1; for(i=1; ① ;i++) s*=i; return( ② ); } int main() { int k,n; long s; scanf("%d",&n); s= ③ ; for(k=0;k<=n;k++) s+= ④ ; printf("%ld\n",s); return 0; }
- 输入正整数n,计算s = 1/1! + 1/2! + 1/3! + ……+ 1/n!的值。 #include int main { int j, k, n; double f, s; scanf("%d", &n); s= (1) ; for (k=1; k<=n; k++) { f= (2) ; for(j=1; (3) ; j++) f= (4) ; s=s+1/f; } printf("sum=%f ", s); return 0; }
- 有以下程序段 s=1.0; for(k=1; k<=n; k++) s=s+1....1;} printf(“%f ”,s);