(defun hanoi (n) (cond ((equal n 1) 1) ;; n が1と等しければ,1を返す ( t (1+ (* 2 (hanoi (1- n) )))))) ;; それ以外は,hanoi(n-1) が返す ;; 値を2倍して,1を加える 関数定義は defun という特殊な関数を用いる. ここで定義される関数は hanoi という名前 この関数に与えられる入力は円盤の枚数 n ;; 例:(hanoi 4) equal 関数は,2つの引数が等しいかどうかを判定. 等しければ t ,等しくなければ nil を返す. 1+ 関数は,引数に1を加えた値を返す (1+ 7) --> 8 1- 関数は,引数から1を引いた値を返す (1- 5) --> 4 + 関数は足し算 (+ 2 3) --> 5 - 関数は引き算 (- 5 2) --> 3 * 関数はかけ算 (* 4 3) -->12 / 関数は割り算 (/ 15 3) --> 5