习题2.1
先上代码
(def number first)
(def denom last)
(defn print-rat [x](println) (print (number x)) (print "/") (println (denom x)))
;(defn make-rat [n d](let [g (gcd n d)] (list (/ n g) (/ d g) ) ))
;旧版
(defn abs [x] (if (< x 0) (- 0 x) x))
(defn % [a b] (if (< (abs a) (abs b)) a (% (- a b ) b )))
(defn gcd [a b]
(if (= b 0)
a
(gcd b (% a b)
)
)
)
(defn make-rat [n d]
(let [g (gcd (abs n) (abs d))]
(list (if
(> (* n d) 0)
(abs (/ n g))
(- 0 (abs (/ n g)))
)
(abs (/ d g) )
)
)
)
对以上代
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/101196.html
如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!