ただ計算を繰り返すだけのコードでメモ化等はしていませんが、
古えのLisp1.5/IBM7094はどんなものなのかなと思いぐるぐる回してみました。
ずっとGCしっぱなししたが、なんとか結果はでました。
IBM7094 / SIMH 3.7 / LINUX / Core2 E6600の環境で、
実行時間は7時間丁度でした。
実行結果:
END OF EVALQUOTE, VALUE IS ..
(837799 524)
THE TIME ( 0/ 0 000.0) HAS COME, THE WALRUS SAID, TO TALK OF MANY THI
NGS ..... -LEWIS CARROLL-
END OF EVALQUOTE OPERATOR
FIN END OF LISP RUN
mc
#5123()
[
Other
]
Rating2/2=1.00
ただ計算を繰り返すだけのコードでメモ化等はしていませんが、 古えのLisp1.5/IBM7094はどんなものなのかなと思いぐるぐる回してみました。 ずっとGCしっぱなししたが、なんとか結果はでました。 IBM7094 / SIMH 3.7 / LINUX / Core2 E6600の環境で、 実行時間は7時間丁度でした。 実行結果: END OF EVALQUOTE, VALUE IS .. (837799 524) THE TIME ( 0/ 0 000.0) HAS COME, THE WALRUS SAID, TO TALK OF MANY THI NGS ..... -LEWIS CARROLL- END OF EVALQUOTE OPERATOR FIN END OF LISP RUNDEFINE(( (EVENP (LAMBDA (N) (ZEROP (REMAINDER N 2)))) (COLLATZ (LAMBDA (X Y)(PROG (N CNT) (SETQ N X) (SETQ CNT Y) L (COND ((EQUAL 1 N) (RETURN CNT)) ((EVENP N) (SETQ N (QUOTIENT N 2))) (T (SETQ N (ADD1 (TIMES 3 N))))) (SETQ CNT (ADD1 CNT)) (GO L)))) (COLLTAZ-MAX (LAMBDA (X) (PROG (N RES HN HS) (SETQ N 1) (SETQ HS 0) L (COND ((GREATERP N X) (RETURN (LIST HN HS)))) (SETQ RES (COLLATZ N 0)) (COND ((GREATERP RES HS) (PROG () (SETQ HS RES) (SETQ HN N)))) (SETQ N (ADD1 N)) (GO L)))) )) PROG(() (RETURN (COLLTAZ-MAX (EXPT 2 20))))Rating2/2=1.00-0+
[ reply ]