CommonLisp Scheme Part13
at TECH
217:209
05/06/03 20:23:37
いろいろな方にベンチを実行していただき,ありがとうございます.大変参考
になりました.
ところで,おまけとして,ラムダ式による遅延評価版を書いてみました.
(参考)URLリンク(www.shiro.dreamhost.com)
;;;竹内関数 aka たらいまわしべんち (or 'Common 'Emacs) Lisp
;;;遅延評価版
(defun tarai (x y z)
(if (<= (funcall x) (funcall y))
(funcall y)
(tarai (lambda () (tarai (lambda () (- (funcall x) 1)) y z))
(lambda () (tarai (lambda () (- (funcall y) 1)) z x))
(lambda () (tarai (lambda () (- (funcall z) 1)) x y)))))
こちらだと,引数が12 だとあっという間に終わってしまいますので,数字を
変えました.
(tarai (lambda () 192) (lambda () 96) (lambda () 0)) => 192
先ほどの条件で,xyzzy だと13秒程度でした.いささか極端な例とは言え,遅
延評価のありがたみを痛感します.
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5381日前に更新/268 KB
担当:undef