Dr Racket 与 SICP 的问题
我正在通过 SICP 进行工作。目前,在第一章中,我在让 Racket 重新定义“基元”时遇到问题。例如,我的印象是我应该能够任意执行 (define + 5) ,这样…
在方案中使用 lambda 而不是 let
在 SICP 1.2.1 中,有一个生成有理数的函数,如下所示: (define (make-rat n d) (let ((g (gcd n d))) (cons (/ n g) (/ d g)))) 我只是好奇如何使用…
在使用 DrScheme 的 SICP 练习 2.26 中,为什么 cons 返回一个列表,而不是一对列表?
在 SICP 练习 2.26 中,给出了这个方案代码: (define x (list 1 2 3)) (define y (list 4 5 6)) 然后给出了这个 cons 调用: (cons x y) 我期望会产…
使用change-class从数字创建多项式对象
我已经按照 SICP 2.5.3 中描述的方式编写了一个多项式类(除了使用 defclass)。我希望能够无缝地对多项式和常规数字进行加法和乘法,但我无法使更改…
不知道如何解决 SICP 练习 1.11
练习1.11: 函数f由以下规则定义:如果n f(n) = n 3 且如果 n > 则 f(n) = f(n - 1) + 2f(n - 2) + 3f(n - 3) 3..编写一个通过递归过程计算 f 的过程…
是否有相当于 Lisp 的“运行时”的东西?方案中的原始?
根据SICP 第 1.2.6 节,练习 1.22: 大多数 Lisp 实现都包含一个称为运行时的原语,它返回一个整数,指定系统已运行的时间量(例如,以微秒为单位进行…
Clojure-为什么这段代码不能在 clojure 中工作,我是否缺少一些惰性评估陷阱?
我是 Clojure 新手,通过 SICP 学习它。 我无法让 SCIP 1.3.1 中的这段代码正常工作。 我缺少什么? (defn sum [term a next b] (if (> a b) 0 (+ (te…
SICP 练习 1.19
这是生成斐波那契数列的过程,参考如下:http://sicp.org。 ua/sicp/Exercise1-19 据说我们可以将程序视为“a <- bq + aq + ap 和 b <- bp + aq”。我…
if 和 cond 之间的区别?
我现在正在学习 sicp 并做 ex2.23 我编写了以下代码: (define (for-each proc items) (if (null? items) #t ((proc (car items)) (for-each proc (cd…
SICP 1.31:Pi 的近似值
我正在独自完成 SICP,所以我没有教练来询问这个问题。这段代码应该近似 pi 但总是返回零。 (define (approx-pi acc) (define (factors a) (define ba…
SICP练习1.16,我的bug在哪里,因为它看起来对我来说是正确的
我刚刚开始阅读这本书是为了好玩;我希望这是家庭作业,但我永远无法负担麻省理工学院的学费,而且还有很多比我聪明的人。 :p fast-exp 应该找到 b^n…
我在这个计算 PI 的方案程序中找不到错误
我正在做蒙特卡罗实验来计算 PI 的近似值。来自 SICP: 蒙特卡罗方法包括 随机选择样本实验 从一个大集合然后制作 的基础上扣除 估计的概率 将这些结…