LoginSignup
1
0

More than 5 years have passed since last update.

第42話 分割数

Posted at

この記事は仮面ライダービルドの数式の第42話です。

p(10)=42

10の分割数は42通りです。

10という数を足し算で表すとき、何通りの表し方があるか、というのが分割数です。
例えば、10,1+9,2+8,1+1+8,1+2+3+4,などです。
全部で42通りあるので、10の分割数は42になります。

ちょっと羅列してみましょう

1111111111
211111111 22111111 2221111 222211 22222
31111111 3211111 322111 32221 331111 33211 3322 3331
4111111 421111 42211 4222 43111 4321 433 4411 442
511111 52111 5221 5311 532 541 55
61111 6211 622 631 64 
7111 721 73
811 82
91
10

この分割数を求めるには、次のようにします。

まず、p(k,n)という関数を考えます。
これは、足したらnになる数のうち、すべてk以上の数字だけで構成されている数、という意味です。

例として、p(2,6)を計算してみます。
足したら6になる数で、2以上の数字だけで構成されている式、という意味です。
具体的に以下の4つがあります。

6, 3+3, 4+2, 2+2+2

このp(2,6)の計算方法ですが、2が出てくる組み合わせと出てこない組み合わせがあります。

まず、2が出てこない組み合わせは、6と3+3がありますが、
言い換えると6の3以上の組み合わせ、p(3,6)を意味します。

次に2が出てくる組み合わせは、4+2、2+2+2がありますが、1つ2を消してみます。
すると、4,2+2になり、これは、4の2以上の組み合わせ、p(2,4)を意味します。

つまり、p(2,6)というのは次の式で求めることが出来ます。

p(2,6)=p(3,6) + p(2,4)

これを一般化して、次のような式が成り立ちます。
p(k,n) = p(k+1,n) + p(k,n−k)

式をよく見てみると、kが大きくなるか、nが小さくなっていきます。
そこで、いくつかの条件を足します。

k = n のとき、p(k,n)=1
k > n のとき、p(k,n)=0

6の6以上だけを使った組み合わせは6という式だけなので、1です。
6の7以上だけを使った式は存在しないので、0です。

あとはこの漸化式を解けば分割数が求められます。

え、漸化式じゃなくていきなり答えが出てくる一般式がほしい?
誰にでもわかる式だとこんな感じです。

p(n)=\frac{1}{\pi\sqrt{2}}\sum_{k=1}^{\infty}\sqrt{k}A_k\frac{d}{dx}
\left(\frac{1}{\sqrt{n-\frac{1}{24}}}\sinh\left[\frac{k}{\pi}\sqrt{\frac{2}{3}(n-\frac{1}{24})}\ \right] \right)

閑話休題

なお、分割数の中でも、同じ数を使わない、という条件をつけたらどうなるでしょうか。
10=1+2+3+4はいいけど、10=1+2+2+5 みたいなのは駄目、という感じですね。

これは、奇数のみで出来た分割数と同じ数だけ存在する、という法則があります。

たとえば、10のすべて異なる分割数は10個ありますが、同時に奇数のみの分割数も10個あります。
1111111111 82
31111111 3124
331111 64
3331 631
511111 514
5311 532
55 10
7111 721
73 73
91 91

並べて書くとわかりますが、「同じ数が2つあれば足し合わせる」をできなくなるまで繰り返したのが、左から右の変換で、
「偶数があれば2で割った奇数2つにする」を繰り返したのが右から左への変換となります。

これらの変換は「すべて奇数になる」「すべて違う数になる」まで繰り返すことが出来て、
別の変換結果にならない、1:1の関係が成り立つのでこの法則が成り立ちます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0