私は頭がねじれている非常に興味深い問題を抱えています。私は、ユーザーと賞 (バッジと呼ばれる) で構成される小さなシステムに取り組んでいます。次の基準に応じてユーザーに授与される特別なバッジがあります: ブロンズ バッジ 10 個、シルバー バッジ 5 個、ゴールド バッジ 1 個。これは非常に単純ですが、ユーザーが 8 つのブロンズ バッジ、7 つのシルバー バッジ、1 つのゴールド バッジを持っている場合、追加の 2 つのシルバー バッジをブロンズ バッジとして使用できます。
これは、ユーザーが「より高い」バッジを配布できるようになるたびに発生します。繰り返しになりますが、たとえば、ブロンズ バッジを 8 個、シルバー バッジを 4 個、ゴールド バッジを 4 個持っている場合、ゴールド バッジ 2 個をブロンズに、1 個をシルバーに「変換」して、特別なバッジを獲得できます。
これを行う方法がまったくわかりません。さまざまなループ、ifs を試しましたが、適切に配布できません。多分誰かが私を助けることができますか?