1

合計が入力である ls のコインを返す「make-change」を作成しようとしていますが、可能な限り少ない数のコインを含める必要があります。例: (make-change 99)

=> (クォーター クォーター クォーター ダイム ダイム ペニー ペニー ペニー ペニー)

4

1 に答える 1

3

make-change動作する必要がある行は次のとおりです。

  • 残りの金額が正確に 1、5、10、または 25 の場合は、適切なコインを返します。
  • それ以外の場合、 whereconsの結果に使用できる最大のコインは、使用したコインの量です。(make-change (- x value))value

最終的にステップ 1 で終了できるようになるまで、ステップ 2 を介して金額がどんどん小さくなっていくため、この手順は終了することがわかります。

于 2011-02-21T17:30:17.603 に答える