回 帖 发 新 帖 刷新版面

主题:一个“!”的运算

朋友,请问 1!+2!+……100!=????????

如何调试这个程序???

谢谢··

回复列表 (共17个回复)

沙发

在TP中写下:
program jiecheng;
var
i,x:longint;
begin
x:=1
for i:=2 to 100 do
x:=i*x;
writeln(x);
end.
再按下CTRL+F9
结果是
......
9.3326215443944152681699238856267e+157!!!

板凳

To 1 楼
这程序是出错的。
因为 x:longint;
所以不可能有
x=9.3326215443944152681699238856267e+157

3 楼

var
  i:integer;
  a:array[1..100]of extended;
begin
  a[1]:=1;
  for i:=2 to 100 do
    a[i]:=a[i]*i;
writeln(a[100]);
end.

4 楼

高精`~

5 楼

到底是谁的对啊???

6 楼

反正1楼的不对
3楼的我没看懂~

7 楼

我相信我对,但程序可能会超时或溢出。
{$N+}
var
  i:integer;
  a:array[1..100]of extended;
  x:extended;
begin
  a[1]:=1;
  for i:=2 to 100 do
    a[i]:=a[i]*i;
  x:=0;
  for i:=1 to 100 do
    x:=x+a[i];
  writeln(x);
end.

8 楼

说个屁呀~~

9 楼

8楼的话我看不懂啊。

10 楼

"我相信我对,但程序可能会超时或溢出。"
费话

我来回复

您尚未登录,请登录后再回复。点此登录或注册