CommonLisp Scheme Part13
at TECH
259:デフォルトの名無しさん
05/06/07 22:57:12
>>253-254
どうもすみません。勉強になりました
勉強ついでに、249のCコードをそのままLISPにしてみました
(defun tarai (x y z)
(labels ((tarai-1 (x y zx zy zz) (if (<= x y) y
(let ((z (tarai zx zy zz))) (tarai-1 tarai((1- x) y z) tarai((1- y) z x) (1- z) x y)))))
(tarai-1 x y z z 0)))
そこで、let式を関数呼び出しに変えて
(defun tarai (x y z)
(labels ((tarai-1 (x y zx zy zz) (if (<= x y) y
(tarai-2 (x y (tarai zx zy zz)))))
(tarai-2 (x y z) (tarai-1 tarai((1- x) y z) tarai((1- y) z x) (1- z) x y)))
(tarai-1 x y z z 0)))
さらに、tarai-1呼び出しをlet式に変えてみました
(defun tarai (x y z)
(labels ((tarai-2 (x y z)
(let ((xx (tarai((1- x) y z)) (yy (tarai((1- y) z x)))
(if (<= xx yy) yy (tarai-2 (xx yy (tarai (1- z) x y)))))))))
(if (<= x y) y (tarai-2 x y z))))
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5381日前に更新/268 KB
担当:undef