【问题标题】:SICP Exercise 1.2SICP 练习 1.2
【发布时间】:2011-11-05 04:34:41
【问题描述】:

我在 SICP 的练习 1.2 中遇到了困难。

将以下内容翻译成前缀形式:

5 + 4 + (2 - (3 - (6 + 4/5))) / 3(6 - 2)(2 - 7)

这就是我所拥有的,我不知道为什么它不起作用。我错过了什么?

(/
 (+
  (+ 4 5)
  (- 2
     (- 3
        (+ 6
           (/ 4 5)))))
 (* 3
    (*
     (-6 2)
     (- 2 7))))

【问题讨论】:

  • 除了(-6 2)的问题,还有一个问题是5 + 4 + ...应该在/之外(优先级低于)/,但是你把它放在里面
  • (+ 5 4 (/ (- 2 (- 3 (+ 6 (/ 4 5)))) (* 3 (- 6 2) (- 2 7))))

标签: scheme sicp


【解决方案1】:
(/ 
 (+ 5 4 (- 2 (- 3 (+ 6 (/ 4 5)))))
 (* 3 (- 6 2) (- 2 7)))

【讨论】:

    【解决方案2】:
    (-6 2)
    

    在这里,您尝试使用2 作为参数调用-6,这当然不起作用,因为-6 不是函数。您宁愿以62 作为参数调用- 函数。

    tl;dr:您忘记了-6 之间的空格。

    【讨论】:

      猜你喜欢
      • 2012-07-05
      • 2017-02-03
      • 2010-12-26
      • 2012-12-15
      • 2021-05-23
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      相关资源
      最近更新 更多