2

プログラミングの問題を解決しようとして、次の例の 1 つを理解できなかったため、行き詰まりました。

4 桁の数字を推測すると、推測値は "1234" です。この推測のヒントは、

  1. 各桁が正しい場所にありません(正解による)。つまり、1 は位置 1 になく、2 は位置 2 になく、3 は位置 3 になく、4 は位置 4 にありません。

  2. 4 桁の正解には、1、2、3、4 の数字が含まれます。

この例では、上記の制約に基づいて 4 桁の数字の可能な組み合わせの数が 9 であることが示されました。

私はこの方法で問題にアプローチしようとしました:

アプローチ1:

(組み合わせの総数は 4!) - (( 1 位の 1 で始まる組み合わせ + 2 位の 2 の組み合わせ + 3 位の 3 の組み合わせ + 4 位の 4 の組み合わせ)) しかし上記の式の 2 番目の部分の解.. 1 の位置が 1 で始まる組み合わせは 3!- (2 の位置が 2 で始まる組み合わせ) などと続き、書き続けることができませんでした。組み合わせの数)。

アプローチ2:

(1 は 3 つの位置にあります) * (2 は 1 の位置に基づいて 3 つまたは 2 つの位置にあります) * (3 は 2 の位置に基づいて 1 つまたは 2 つの位置にあります)*(4 の場合は 1 つの位置) - - 2、3、4 の位置の数を見つける方法が明確ではありません。

この問題にアプローチする方法を理解するのを手伝ってください

4

2 に答える 2

2

したがって、ヒントは次のとおりです。n1n2n3n4、1234 のすべてを 1 回だけ使用します。

1) 1 を入れる場所は 3 つあり、残りは _1n3n4、_n21n4、_n2n31 です。

2) これらの 3 つの場所のそれぞれについて、3 つの異なる場所に配置できる 1 つの数字があります。別の禁止されたスペース (3*2) または最初のスペース (3*1) に配置できます。

3a) それを別の否定された空間に置くと、数字の最後のペアには、(6*1) の方向が 1 つしかありません。

3b) それを自由空間に置くと、最後の数字のペアは 1 つの方向しか取りません (3*1)

したがって、9 つの可能性があります。

_1__
2143
4123
3142

__1_
3412
4312
2413

___1
4321
3421
2341

それを考える第 2 の方法は次のようになります。

4つあります!= 24 の可能な順列。

6 ポジションは 1 ポジションに 1 つ (3! 残りの 3 つの配置方法)

4 つの位置は 2 の位置に 2 がありますが、1 の位置に 1 はありません (残りの 3 つを配置する 3 つの方法、1 が 1 にある 2 つのケースを差し引きます)

3 桁は 3 桁目に 3 を持っていますが、1 桁目に 1 または 2 桁目に 2 を持っていません (3! 残りの 3 つを配置する方法は、12 の 1 つのケースを減算し、残りの 1x の 1 つのケースを減算し、1 つのケースを減算します)。 x2 の残り)

2 ポジションはポジション 4 に 4 を持っていますが、1 に 1 または 2 に 2 または 3 に 3 はありません (3 つの方法でそれらを配置します。最初に 1 を付けて 2 を引き、残りから 2 を真ん中に付けて 2 を引きます)。

24-15 = 9

于 2013-06-14T00:56:30.307 に答える
0

どちらを設定してもかまいませんが、いくつのポジションを設定するかは問題ではありません。位置を設定するたびに、選択が 1 ずつ減ります。

プログラミングの方法を尋ねている場合は、まず言語を選択する必要があります。

于 2013-06-14T00:56:18.570 に答える