教育150077 views
小学算数1203731 views
数学講師2913151 views
中学英語813624 views
LaTeX965557 views
中学数学625176 views
中学理科1633649 views
雑学1474218 views
高校生物553211 views
りんご220229 views
Help
Tools

English

x + y + z = 10 の「整数解の組」は仕切りで数える

を満たす 0 以上の整数の組は 66 通りあります。全部書き出すのは大変ですが、印と仕切りに置きかえると 1 行で出る。

方程式の整数解を数える問題は、同じものを配る問題と同じ形をしています。置きかえができれば、あとは組合せの計算だけです。

印と仕切りに置きかえる

を、10 個の印を 3 つの箱に分ける問題と見ます。箱に入った個数が 、、 にあたる。

印を一列に並べ、仕切りを 2 本入れれば 3 つに分かれます。仕切りの位置を決めることが、解を 1 つ決めることと同じ。

印 10 個と仕切り 2 本、合わせて 12 個の場所から、仕切りの位置 2 か所を選ぶ。

66 通りです。この数え方を仕切りの方法といいます[1]。

一般の形

変数が 個、右辺が のとき、0 以上の整数解の個数は次の式になります[1]。

仕切りは 本。印 個と合わせた か所から、仕切りの位置を選ぶ形です。

重複を許して選ぶ と同じ値になります。 種類から 個を選ぶことと、 個の変数に を分けることが同じだから。

例:変数が 4 つ

の 0 以上の整数解を数えます。仕切りは 3 本。

165 通りです。変数が増えると仕切りが増え、選ぶ個数も増えます。

正の整数解

、、 がすべて 1 以上という条件なら、数え方が変わります。空の箱を認めない形です。

印 10 個を一列に並べ、その間の 9 か所のすき間から 2 か所を選んで仕切りを入れる。両端やすき間の重複は使えません。

36 通り。一般には になります[1]。

0 以上でよい場合

仕切りは印と同じ列に並べられる。同じ場所に 2 本入ってもよい

1 以上が必要な場合

仕切りは印と印のすき間にしか入らない。1 か所に 1 本まで

置きかえで下限をそろえる

以上の場合は、置きかえでも解けます。 のように、下限のぶんを先に引いておく。

で全員 1 以上なら、 の 0 以上の解と同じ。 で、さきほどと一致します。

下限がばらばらでも同じ手が使えます。

例:下限がそろっていない場合

で、、、 とします。

、、 と置くと、。

28 通りです。下限は引いてしまえば消えます。上限のほうは、この手では消えません。

下限があれば先に引いて 0 以上にそろえる

仕切りの式で全体を数える

上限があれば包除原理で引く

上限があるときは引き算

で、 とします。上限は置きかえで消せないので、破った場合を引きます。

になる解を数えます。 と置くと で、 通り。

と についても同じく 15 通りずつ。2 つ以上が同時に 6 以上になると和が 12 を超えるので、そういう解はありません。

21 通りです。

例:足し戻しが必要な場合

で とします。今度は 2 つが同時に上限を破れます。

全体は 通り。 なら で 通り、3 つの変数で 。

かつ なら で 1 通り。そういう組が 3 通りあるので 3 を足し戻します。

15 通りです[3]。上限が小さいほど、足し戻しの項が効いてきます。

2 つ同時に破れるかどうかは、上限の 2 倍と右辺を比べれば分かります。上限が 6 で右辺が 14 なら、 で届く。

上限が 5 で右辺が 10 なら が 10 を超えるので、2 つ同時には破れない。

例:不等式の場合

を満たす 0 以上の整数解を数えます。等号でないので、そのままでは仕切りが使えません。

余りを受けとる変数 を足します。 と置けば で、 になる。

286 通りです。不等式は、ダミーの変数を 1 つ足して等式に直す。

例:配る問題として読む

同じ形の問題は、言い回しを変えて何度も出ます。

「同じあめ玉 10 個を 3 人に配る。もらえない人がいてもよい」なら 66 通り。「全員が 1 個以上もらう」なら 36 通り。

「1 人 5 個までしかもらえない」なら 21 通り。方程式の姿になっていなくても、印と仕切りに置きかえられます。

問題文条件通り数
もらえない人がいてもよい0 以上66
全員が 1 個以上1 以上36
1 人 5 個まで0 以上 5 以下21

例:積の形に見える問題

を満たす正の整数解は、この方法では出ません。掛け算は仕切りに置きかえられない。

こちらは素因数分解で考えます。 なので、2 の指数 2 を 3 人に分ける形と、3 の指数 1 を 3 人に分ける形を掛ける。

2 の指数 2 を 3 つに分けるのが 通り、3 の指数 1 を 3 つに分けるのが 通り。 通りです。

指数に注目すれば、足し算の形に戻ります。積の問題を見たら、まず素因数分解する。

を満たす 0 以上の整数の組は何通りありますか。

  • 35 通り
  • 120 通り
  • 210 通り
__RESULT__

仕切りは 3 本なので 通りです。35 は で、印だけから選んだ値になります。

よくある誤り

仕切りの本数を変数の個数と同じにする。変数が 個なら仕切りは 本です
0 以上と 1 以上をとり違える。前者は から、後者は から選びます
下限を引かずに数える。 なら先に 2 を引いて 0 以上にそろえます
上限を置きかえで消そうとする。上限は包除原理で引くしかありません
足し戻しが要るかを確かめない。上限の 2 倍と右辺を比べます
不等式のまま仕切りを当てる。余りを受けとる変数を 1 つ足します
積の形の方程式に仕切りを使う。素因数分解して指数の和に直します

方程式を見たら、印と仕切りの絵に置きかえられるかを考える。置きかえられれば、あとは選ぶだけです。

参考文献

[1] が仕切りによる数え方、[2] が組合せの公式、[3] が上限を処理する足し引き、[4] と [5] が各国語での整理です。

Stars and bars (combinatorics) - Wikipedia)
Combination - Wikipedia
Inclusion–exclusion principle - Wikipedia
Combinatoire - Wikipédia
Abzählende Kombinatorik - Wikipedia
0 以上の整数で x + y + z = 10 を満たす組は 66 通りです。印 10 個を並べて仕切りを 2 本入れる、と置きかえれば選ぶだけで出ます。1 以上という条件なら仕切りはすき間にしか入らず 36 通り。下限は引いて消せますが、上限は包除原理で引くしかありません。足し戻しが要るかどうかの見分け、不等式にダミー変数を足す手、積の形の方程式を素因数分解で足し算に戻す手まで扱いました。