私のハングアップは、以下の問題点は、ブルートフォードが意味するものを解釈していることであり、私は単にそれが何を求めているのか分かっていれば、この問題のコードを設計できると思います。 :ここでは/アルゴリズム作成の命令でブルートフォースをどのように解釈するのですか?
は命令です:
[15マーク]彼/彼女が は貪欲知らない場合、プログラマは、課題3で変更を行うの問題のために出てくるかもしれないソリューションのどのような種類アルゴリズムは全くですか?この 問題を解決する1つの方法は、徹底的な検索またはブルートフォースアプローチです。この アプローチでは、すべての可能な回答をテストし、 答えを見つけるために、与えられた問題に対して 正しい解決策を比較します。特に
は、変更をマーキングの問題のため、現金を与え 量をセントで、私たちはまず、 最大の番号を(必ずしもできるだけ少ないコインを使用していない)を正しく変更 を作るのいずれかの方法を見つけることができます私たちが使用できるtoonies、looniesなどの 6レベルのループを実行して、すべての可能性のある組合せのコインを のコインで繰り返します。これは、前に計算した最大数を上限として、ソリューション内の対応するコインについて です。より正確には、 最も外側のループでは、1 toonie、2 toonies、...、計算されたトーニーの最大数を使用するソリューションを反復します。 2番目の 最も外側のループでは、1 loonie、2 loonies、 ...を使用するソリューションを繰り返し、計算されたlooniesの最大数( のtooniesの数は最も外側のループで決定されます)など。 内の最も内側のループでは、各ソリューションについて、指定された金額に対して 正しい解決策であるかどうかをチェックします。そうであれば、 よりも少ないコインを使用しているかどうかを確認します。 例えば
現金量が200である場合、我々は せいぜい1 toonie、2 loonies 8四半期、20のダイム、任意の溶液中に40枚の硬貨と 200ペニーを使用することができます。 (それぞれの解決策には、 のコインの番号である6つの数字が使用されています. ,0,0,0,0,0,0,1,0,0,0,0,0,1 ; 0,0,0,0,0,2; ...、0,0,0,0,0,200; 0,0,0、 ,0,1,0; 0、0、0、0,1,1; 0,0,0,0,0,1,2、...、0,0,0,0,1、 200; 0,0,0,0,2,0; 0、0、0、2、1; ....この特定の の例では、テストするソリューションは、1 toonie、2 loonies、8 quarter、20 dimes、40 nickel、200 penniesを使用する必要があります。
それは、このブルートforcenessによって何を意味するのか?私はそれがどのように各種類の硬貨について可能な最大数を見つけるのかを理解していますが、これはどのようにして人が得なければならない各種類の硬貨の数を解決するために使用されますか?
私は、それぞれのコインの最大数を計算する以外に、正しい金額になるかどうかを問わず、可能なすべてのコインの値の組み合わせを試してみて、それぞれの組み合わせはどちらも適切な金額になり、以前の組み合わせより優れています。 –