5楼的方法是对的,答案也是对的
DIM A(1000)
INPUT "N=",N
A(1)=1:W=LOG(10)
P=5:E=100000:R=100:S=R
FOR I=2 TO N
R=R+4:P=P+LOG(I)/W
FOR J=INT(R/S) TO INT(P/5)
X=I*A(J)+Y
Y=INT(X/E)
A(J)=X-E*Y
NEXT J,I
PRINT N;"!=";A(J-1);
IF J<3 THEN END
FOR K=J-2 TO 1 STEP -1
PRINT RIGHT$("0000"+STR$(A(K)),5);
NEXT K
运行结果是:
100!=93326215443944152681699238856266700490
71596826438162146859296389521759999322
99156089414639761565182862536979208272
23758251185210916864000000000000000000
000000
共24个0
以上程序几乎在任何BASIC版本均可运行