0

我的递归函数将给定面积乘以 1.5,直到达到 100,000。输出应该是它必须乘以 1.5 的次数。我想我了解我需要做的大部分事情,但我不确定在我的 (if) 语句中放什么。

(define area-multiplier
  (lambda (area)
    (if (< 100000 area)
        0         ;what do I put here?
        (+ 1 (area-multiplier (* area 1.5))))))
4

2 回答 2

1

用一个例子来思考这个问题。在这种情况下,相关的例子是

(area-multiplier 100000)

(area-multiplier 100001)

这些应该产生什么?

于 2012-09-18T16:45:13.950 回答
0

你所拥有的很好,除了如果你想让 100000 返回 0,那么<<=. :-)

于 2012-09-18T16:26:56.407 回答