0

固定サイズの配列があるとしましょう。すべての要素の合計がXになるように、配列を1または2で埋めたいと思います。

例:

  • 必要な合計=12
  • 配列サイズ=7

可能な組み合わせ:

array( 1, 2, 2, 2, 1, 2, 2 ) // sums to 12

array( 1, 1, 2, 2, 2, 2, 2 ) // sums to 12
4

1 に答える 1

8
  • 配列内の 2 の数を見つけます。この数は次のとおりです。

    #2's = X - array_size
    
  • ランダム任意#2'sの要素 (たとえば、最初の要素) を選択し、それらに値 2 を指定すると、残りの要素は値 1 を取得します。

注:X < array_size問題の解決策がないかどうかは簡単にわかりX> 2*array_sizeます (上記のアルゴリズムは明らかに失敗します)。

于 2013-01-22T16:08:56.923 に答える