0

私の再帰関数は、100,000 に達するまで、指定された面積を 1.5 倍にします。出力は、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 に答える