2017-09-26 4 views
0

これは私のpset1 greedyコードです。今、それは私が話すことができるものから、cs50チェックを使っています。cs50 pset1 greedy。 %を使用する必要はありませんでしたか?

問題は歩いていると私は正しく使用する方法を調べなければならないことを暗示されました。モジュール式どこか?私はそれが何をするかを得る。例えば10%3 = 1.モジュール式%を使用して再度実行する価値がありますか?私の方法に関するアドバイスもありますか?前もって感謝します。

+0

申し訳ありませんが、10を意味します。それを指摘してくれてありがとう。 –

+1

四分の一のコインの数は 'num_quarters = change_int/quart;です。' change_int - = num_quarters * quart;の新しい残高を残します。あなたは4つのコインの値を配列に入れてループで処理することさえできます。 –

答えて

1

コインがどれだけ必要かを計算するには、change_intを現在のコインの値で割ることができます。残っている変化量を計算するには、同じ計算を行うことができますが、/の代わりに%を使用します。

これにより、whileループを使用する必要がなくなるため、大きな変更値のためにプログラムが高速化されます。

Weather Vaneがコメントに書いたように、4つのコインの値を配列に入れて、計算をループで行うこともできます。

+1

私は 'change_int%= quart; 'を見逃してしまいました。 –

+0

@WeatherVaneはい、そういうものは見逃しやすいです。これは一般的なエクササイズです(私は既に昨日同様の質問を見ました)ので、私たちがちょうどリンクを投稿することができる十分に文書化された解決策を持つことは良いかもしれません... –

+0

@WeatherVane私はあなたもまたコメントしたそこ。 https://stackoverflow.com/questions/46411952/why-my-program-works-correctly-for-some-tests-and-not-for-others –

関連する問題