欢迎使用CSDN-markdown编辑器

来源:互联网 发布:qq飞车a车数据库 编辑:程序博客网 时间:2024/06/05 10:34

第一次写博客,还有点小激动呢(>_<)…

sicp 10天前开始读,昨天刚把第一章读完,46道题也全部做完,收获颇大。
练习2.1 定义出make-rat的一个更好的版本,使之可以同时处理。有理数为正时, make-rat应该使其规范化,使它的分子分母都为正。如果为负则只让它的分子为负。

这道题总体来说比较简单,在make-rat里进行一次判断就可以了。

(define (make-rat n d)  (let ((g (gcd (abs n) (abs d))))  (if (> (* n d) 0)      (cons (abs n) (abs d))      (cons (- (/ (abs n) g)) (/ (abs d) g)))))
原创粉丝点击