0

マシンが引き継ぐと、すべてのコインの額面は 2 の累乗になります: 1 セント、2 セント、4 セント、8 セント、16 セントなど。コインの金額に制限はありません。値することができます。

硬貨の値の合計が n の場合、硬貨のセットは n に変化します。たとえば、次のセットは 7 を変更します。

1 セント硬貨 7 枚 1 セント硬貨 5 枚、2 セント硬貨 1 枚 1 セント硬貨 3 枚、2 セント硬貨 2 枚 1 セント硬貨 3 枚、4 セント硬貨 1 枚 1 セント硬貨 1 枚、2 セント硬貨 3 枚2セント硬貨1枚、4セント硬貨1枚 したがって、7に両替する方法は6通りあります。

正の整数 n を受け取り、これらの未来のコインを使用して n を変更する方法の数を返す関数 count_change を作成します。

ツリー再帰を使用しようとして、この質問に1時間取り組んできましたが、うまくいきません。現在の金額の 2 つのブランチ (1 と現在の金額) を使用することを考えていましたが、可能な限り最大のコイン値ですが、結果は決して満足できるものではありません。

アプローチ方法を教えてください... thx!

4

1 に答える 1