CommonLisp Scheme Part13 at TECH
[2ch|▼Menu]
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