Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
固定サイズの配列があるとしましょう。すべての要素の合計がXになるように、配列を1または2で埋めたいと思います。
例:
可能な組み合わせ:
array( 1, 2, 2, 2, 1, 2, 2 ) // sums to 12 array( 1, 1, 2, 2, 2, 2, 2 ) // sums to 12
配列内の 2 の数を見つけます。この数は次のとおりです。
#2's = X - array_size
ランダムな任意#2'sの要素 (たとえば、最初の要素) を選択し、それらに値 2 を指定すると、残りの要素は値 1 を取得します。
#2's
注:X < array_size問題の解決策がないかどうかは簡単にわかりX> 2*array_sizeます (上記のアルゴリズムは明らかに失敗します)。
X < array_size
X> 2*array_size