Scheme SICP练习1.3溶液的奇怪行为

Scheme SICP练习1.3溶液的奇怪行为,scheme,lisp,sicp,Scheme,Lisp,Sicp,我试图学习这个方案,并尝试从这个线程中找到一些解决方案。 我也对emacs感兴趣,所以我一起开始。在emacs中,我使用的是Racket v6.1 我的问题,一个解决方案的奇怪行为: (define (square x) (* x x)) (define (sum-of-squares x y) (+ (square x) (square y))) (define (mi

我试图学习这个方案,并尝试从这个线程中找到一些解决方案。

我也对emacs感兴趣,所以我一起开始。在emacs中,我使用的是Racket v6.1

我的问题,一个解决方案的奇怪行为:

(define (square x) (* x x))

(define (sum-of-squares x y)                                                       
    (+ (square x) (square y))) 

(define (min x y)                                                                  
    (if (< x y) x y)) 

(define (min x y)                                                                  
    (if (< x y) x y))

(define (solution a b c)                                                            
    (sum-of-squares (square (max a b)) (square (max c (min a b)))))

(solution 2 3 4)
337
(solution 1 2 3)
97
(定义(正方形x)(*x))
(定义(平方和x y)
(+(平方x)(平方y)))
(定义(最小x y)
(如果(

不知道发生了什么事。预计前25名和后13名。

因此这可以很容易地用替换来解释:

(解决方案2 3 4)
与:

(sum-of-squares (square (max 2 3)) (square (max 4 (min 2 3))))
(sum-of-squares (square 3) (square 4))
(sum-of-squares 9 16)
(+ (square 9) (square 16))
(+ 81 256)
; ==> 337

因此,我希望您已经了解了为什么您没有获得
25
,并且可以去修复它?

因此,这可以很容易地用替换来解释:

(解决方案2 3 4)
与:

(sum-of-squares (square (max 2 3)) (square (max 4 (min 2 3))))
(sum-of-squares (square 3) (square 4))
(sum-of-squares 9 16)
(+ (square 9) (square 16))
(+ 81 256)
; ==> 337

因此,我希望您已经了解了为什么没有获得
25
,并且可以去修复它?

是的,是的,我必须看第三遍,但我知道我得到了它。我做双人正方形。谢天谢地,我没有成为程序员的天赋,但我喜欢这样做。:)是的,是的,我必须看第三遍,但我知道我明白了。我做双人正方形。谢天谢地,我没有成为程序员的天赋,但我喜欢这样做。:)