by shigemk2

当面は技術的なことしか書かない

SICPの問題を解いてみた(Emacs Lispで)

問題1.1
こういうやりかた大丈夫なのかな…

10                                      ; => 10
(+ 5 3 4)                               ; => 12
(- 9 1)                                 ; => 8
(/ 6 2)                                 ; => 3
(+ (* 2 4) (- 4 6))                     ; => 6
(defvar a 3)                            ; => a
(defvar b (+ a 1))                      ; => b
(+ a b (* a b))                         ; => 19
(= a b)                                 ; => nil
(if (and (> b a) (< b (* a b)))
    b                                   ; => 4
  a)                                    ; => 4

(cond ((= a 4) 6)
      ((= b 4) (+ 6 7 a))
      (t 25))                           ; => 16
a                                       ; => 3
b                                       ; => 4
(+ 2 (if (> b a) b a))                  ; => 6
(* (cond ((> a b) a)
         ((< a b) b)
         (t -1))
   (+ a 1))                             ; => 16


追記

else を tに修正しました。