昨夜のラグビーを観戦していたとき、ポイントを獲得できるのは 3、5、または 7 のくじでしかないことを考えると、不可能なスコアはないのではないかと考えていました。5=5、6=3+3、7=7、8=3+5、9=3+3+3、10=5+5 など。
その考えを 5、7、9 に拡張すると、次の可能なスコアが得られます。
5,7,9,10,12,14 // and now all numbers are possible.
7、9、11 の場合:
7,9,11,14,16,18,20,22,23,25,27 // all possible from here
私は頭の中でこれらを行いました.スコアのセットが与えられた場合、それを超えるすべてのスコアが達成可能な最低スコアを決定する優れたアルゴリズムを誰かが提案できますか.
私はそれを次のようにモデル化しました:
forall a < 10:
forall b < 10:
forall c < 10:
list.add(3a + 5b + 7c);
list.sort_smallest_first();
次に、3 よりも長いシーケンスのリストを確認します (最小スコア)。些細なケース以外では、かなり非現実的で遅いようです。