自然数分割の問題とその証明方法

このQ&Aのポイント
  • 自然数分割の問題は、与えられた自然数nを3個の自然数の和への分割の仕方の数を求める問題です。
  • 分割の例として、n=6の場合は4+1+1,3+2+1,2+2+2の3通りが存在します。
  • 自然数分割の問題の解法は、p(n,3)={n^2/12}という式で表されます。この式の証明は差分方程式の理論を用いることが一般的ですが、初等的な方法で理解できる証明方法があれば求められています。
回答を見る
  • ベストアンサー

自然数分割の問題

与えられた自然数nを3個の自然数の和への分割の仕方の数をp(n,3)と書きます。 例えば、n=6の分割は4+1+1,3+2+1,2+2+2の3通りですから p(6,3)=3が言えます。 このとき、p(n,3)={n^2/12}が成り立つことが知られています。但し、{}はその中の数を四捨五入することを表わします。 この式の証明は差分方程式の理論を使って行われますが、 問題の意味は誰でも分かるので、証明も誰でも分かるような(所謂初等的な)ものがあればうれしいです。 あるかどうかわかりませんが、そのような証明をご存知の方、或いは知らないけれど「このような方針ではどうか」等のアドバイスがあればお答えよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.8

 一般にnをk項の和に分解する場合はどうなるか、あくまで「初等的」の範囲で、検討してみました。  nをk個の項の和に分けることを、 n = s[1]+2s[2]+…+n s[n] と表現することにします。ただし、 s[j]≧0, s[1]+s[2]+…+s[n] = k です。  これは「nを(s[1]個の1),(s[2]個の2),…,(s[n]個のn )の和に分解した」という意味です。従って、列<s[1],s[2],…>によって分け方を表せます。(この記法を使えば、分割した「かけら」の並び順を心配する必要はありませんね。)    このような列s全部の集合をS(n,k)と書きましょう。すると明らかに、ご質問のp(n,k)はS(n,k)の濃度(要素の個数)に等しい。すなわち p(n,k) = |S(n,k)| です。たとえば S(6,3)={<2,0,0,1,0,0>,<1,1,1,0,0,0>,<0,3,0,0,0,0>} ですから、 p(6,3)=3 となります。  さて、S(6,3)の3つの要素は、以下のどちらかの方法で「生成」された、と解釈できます。 S(n,k)の任意の要素sに対して、 (A) 生成規則A[n-1,k-1]: (k-1≧0のとき)  列tがt∈S(n-1,k-1)であって、 s[1]=t[1]+1 s[j]=t[j](j≧2) であるような、そういうtがただ一つ存在する。 (B) 生成規則B[n-k,k]: (n-k≧kのとき)  列t がt∈S(n-k,k)であって、 s[1]=0 s[j] = t[j-1](j≧2) であるような、そういうtがただ一つ存在する。  (ここで「A[n-1,k-1]」「B[n-k,k]」は規則を示す記号です。) 列を作る方法は(A)(B)どちらかであって他にはありませんし、生成規則の条件である(k-1≧0のとき)あるいは(n-k≧kのとき)が成り立つなら、生成されます。(これは証明するまでもないほど自明だと思います。)だから、要素s=<2,0,0,1,0,0>と要素s=<1,1,1,0,0,0>はどちらも生成規則A[5,2]によって、また、要素s=<0,3,0,0,0,0>は生成規則B[3,3]によって生成されたことになります。  具体例を見てみましょう。(なお、以後、<>の末尾側にある0の連なり< ,0,0,0,…,0>の部分は省略して書くことにします。) S(1,1)={<1>} です。(つまりn=1を1個の項に分割する方法は1通りです。)これから、 S(2,1)={<0,1>} ∵B[1,1]より(A[1,0]は使えない。) S(3,1)={<0,0,1>} ∵B[2,1]より(A[2,0]は使えない。) S(4,1)={<0,0,0,1>} ∵B[3,1]より(A[3,0]は使えない。) : となります。これらを出発点にして、 S(1,1)={<1>}  S(2,2)={<2>} ∵A[1,1]より(B[0,2]は使えない。) S(3,3)={<3>} ∵A[2,2]より(B[0,3]は使えない。) : S(2,1)={<0,1>} S(3,2)={<1,1>} ∵A[2,1]より(B[1,2]は使えない。) S(4,3)={<2,1>} ∵A[3,2]より(B[1,3]は使えない。) : S(3,1) ={<0,0,1>} S(4,2)={<1,0,1>, <0,2>} ∵A[3,1]とB[2,2]より。 S(5,3)={<2,0,1>, <1,2>} ∵A[4,2]より(B[2,3]は使えない。) : S(4,1)={<0,0,0,1>} S(5,2)={<1,0,0,1>,<0,1,1>} ∵A[4,1]とB[3,2]より。 S(6,3)={<2,0,0,1>,<1,1,1>,<0,3>} ∵A[5,2]と、B[3,3]より。 S(7,4)={<3,0,0,1>,<2,1,1>,<1,3>} ∵A[6,3]より。(B[3,4]は使えない。) S(8,5)={<4,0,0,1>,<3,1,1>,<2,3>} ∵A[7,4]より。(B[3,5]は使えない。) : てなことになります。  要素の個数pについて書き直してみると、要するに、 (i) p(n,1) = 1 (ii) p(k,k)=1 (iii) 2k>n>k → p(n,k)=p(2(n-k),n-k) (iv) n≧2k → p(n,k)=p(n-k,k)+p(n-1,k-1) という漸化式になっています。(iii)はk-1個の「初項」を定めるだけなので、漸化式として本質的なのは(iv)だけですね。 k=2の場合、 (i) p(n,1) = 1 (ii) p(2,2)=1 (iii)p(3,2)=p(2,1)=1 (iv) n≧4 → p(n,2)=p(n-1,1)+p(n-2,2)=p(n-2,2)+1 だから、 n≧4のとき、m=floor(n/2)-1とおくと、(floor()は切り捨て関数) p(n,2)=p(n-2,2)+1=p(n-4,2)+2=…=p(n-2m,2)+m となり、 n-2m=n-2floor(n/2)+2=2または3 だから、p(2,2)=p(3,2)=1によって、 p(n-2m,2)=1 従って p(n,2)=m+1 と決まります。すなわち、 p(n,2)=floor(n/2) である。 さて、 p(3,2)=floor(3/2)=1 p(2,2)=floor(2/2)=1 であるから、結局、 n≧2 → p(n,2)=floor(n/2) となります。これはfloor(x+1/2)={x}({}は四捨五入)を使って、 n≧2 → p(n,2)={(n-1)/2} と書いても同じです。(確かに、既知の結果と一致します。) k=3の場合にも同じように力づくでやろうとすると、floor()関数の項が沢山並ぶことになる訳で、きっと場合分けが一杯生じて面倒でしょう。「差分方程式の理論」に任せた方が良さそうです。 でも、結果は{(n^2)/12}、つまりfloor関数1個で表せる形にまとまるのでした。ならばkが4以上の場合も、綺麗に整理できるに違いと予想できます。

graphaffine
質問者

お礼

取敢えず、初等的には示せないようだと言うことを結論としたいと思います。 他の方々も含め、回答有難うございました。

その他の回答 (7)

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.7

No.6の > そのうちのA通りがe=rとなる。 を 「そのうちのA通りがe=2rとなる。」 に訂正。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.6

久しぶりに眺めてたら、まだ閉めてないのを発見。で、もう一回考えてみたんです。 そしたら、ま、結局同じ事なんですが、ちょっと違う表現で綺麗に完結したのでupします。  自然数nを1以上の3つの自然数a,b,cの和で表す。ただし、a≧b≧cとなるようにする。このうちで、 a=b=cになってる場合の数をA a≠b=cまたはa=b≠cになってる場合の数をB a≠b≠c≠aになってる場合の数をC とするとき、A+B+Cを求める。  さて、a,b,cの順番を入れ替えたものを別ものとして数えれば(n-1)(n-2)/2通りある。だから、 A+(3!/2!)B+(3!)C = (n-1)(n-2)/2 は自明である。なので、A,Bが分かればCも分かる。すなわち: C = (n-1)(n-2)/12-A/6-B/2  ところで求めるのはA+B+Cであるから、 A+B+C = 5A/6+B/2+(n-1)(n-2)/12 = (n^2)/12-n/4+1/6+5A/6+B/2 です。 ●Aはnが3の倍数の時1, さもなくば0である。 ●Bは、nを偶数1個e≧2と残りr≧1に分けるのが(ceil(n/2)-1)通りあり、そのうちのA通りがe=rとなる。従って、B=(ceil(n/2)-1-A)通りである。(ceil()は切り上げ関数です。) まとめると A+B+C = (n^2)/12-n/4+ceil(n/2)/2-α と書ける。ただし、 (1) nが3の倍数のとき α=0 (2) nが3の倍数でないとき α=1/3  あとは、 A+B+C={(n^2)/12} つまり (n^2)/12-1/2≦ A+B+C <(n^2)/12+1/2 …(X) を証明すりゃいいですね。 切り上げの性質から、 0≦ceil(n/2)/2-n/4<1/2 と言える。なので、 A+B+C-1/2<A+B+C+n/4-ceil(n/2)/2≦A+B+C すなわち A+B+C-1/2<(n^2)/12-α≦A+B+C だから、 (n^2)/12-α≦A+B+C<(n^2)/12-α+1/2 となる。 (1) α=0を代入すると (n^2)/12≦A+B+C<(n^2)/12+1/2 となって、(X)を満たす。 (2) α=1/3を代入すると (n^2)/12-1/3≦A+B+C<(n^2)/12-1/3+1/2 となって、(X)を満たす。 Q.E.Dデス。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.5

ううむ。初等的というのなら、こういうのはどうです? n=a+b+c、a≧b≧c≧1 において、<b,c> を直交座標系だと思えば、 n-b-c≧b≧c≧1 とはすなわち n≧2b+c、b≧c、c≧1 の三角形領域に含まれる格子点の個数を数える問題です。で、その個数は [n/3]≧c≧1、n≧2b+c≧1-(n mod 3) の平行四辺形に含まれる格子点の個数の丁度半分になることが簡単に示せます。 この平行四辺形は高さ(c)がだいたいn/3, 幅(b)がだいたいn/2ですから、格子点の数はだいたい(n^2)/6。あとはまじめに場合分けかな? もっと鮮やかな手、ないでしょうかねえ。

graphaffine
質問者

お礼

しばらくぶりですので、忘れ去られているとは思いますが、感想を述べさせてもらいます。 整数論の相互法則の高木貞治博士による証明と似たような方針と言う事ですよね。 面白い方法だと思いますし、この流れから自然数分割と整数論が結びついてくるかも知れませんので良く検討してみたいと思います。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.4

No.3の訂正。 {x}は切り捨てだと勘違いして書いてます。{x}のところを[x]と読み替えて下さい。 ついでに、 「●n=a+b+m(a≧b≧m)すなわちn-3(m-1)-1=a+b(a≧b≧1)がp(n-3(m-1)-1,2)通り。」 などは 「●n=a+b+m(a≧b≧m)すなわちn-3(m-1)-1=(a-(m-1))+(b-(m-1))(a-(m-1)≧b-(m-1)≧1)。そこで(a-(m-1))と(b-(m-1)を改めてa,bと書くと、n-3(m-1)-1=a+b(a≧b≧1)がp(n-3(m-1)-1,2)通り。」 とでもやった方が親切だったかも。

graphaffine
質問者

お礼

返事が遅れ申し訳ありません。勝手ながらまとめて お礼をさせて頂きます。 0shieteさん、kiriburiさん、stomachmanさん御回答有り難う御座います。 皆さん、ストレートな方法であり、差分方程式を使った証明を私は存じていませんが、多分同じ方針を理論的に発展させたもののような気がします。 が、無い物ねだりと存じますが全く新しい発想による回答が欲しいと思っていました。組合せ理論の問題は、数学の他の分野(代数学や幾何学など)と密接に絡んでくることが多いので、それらのつながりのある回答はないものでしょうかね。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.3

まず、p(n,2)はどうなっている? n=a+b (a≧b≧1) と分けるんです。すると、 p(n,2)={n/2} は自明だ。 じゃあ、p(n,3)はどうか。 n=a+b+c, a≧b≧c と分ける。 ●n=a+b+1(a≧b≧1)すなわちn-1=a+b(a≧b≧1)がp(n-1,2)通り。 ●n=a+b+2(a≧b≧2)すなわちn-4=a+b(a≧b≧1)がp(n-4,2)通り。 ●n=a+b+3(a≧b≧3)すなわちn-7=a+b(a≧b≧1)がp(n-7,2)通り。   : ●n=a+b+m(a≧b≧m)すなわちn-3(m-1)-1=a+b(a≧b≧1)がp(n-3(m-1)-1,2)通り。 と、これだけある。ここでm={n/3}である。 つまり、 p(n,3)=Σp(n-3(k-1)-1,2) (k=1,2,....,{n/3}) p(n,3)=Σp(n-3k+2,2) (k=1,2,....,{n/3}) =Σ{(n-3k+2)/2} (k=1,2,....,{n/3}) これを計算すりゃいいのだね。 (1) n=6rのときには p(n,3)=Σ{(6r-3k+2)/2} (k=1,2,....,2r) =2r(3r+1)+Σ{-3k/2} (k=1,2,....,2r) =2r(3r+1)+Σ({-3(2k-1)/2}+{-6k/2}) (k=1,2,....,r) =2r(3r+1)+r-6Σk (k=1,2,....,r) =2r(3r+1)+r-3r(r+1) =3r^2 =3(n/6)^2 =(n^2/12) (2) n=6r+1のときにはえーと、 とやっていけばできそうです。

  • kiriburi
  • ベストアンサー率31% (14/44)
回答No.2

nが3の倍数か否か、偶数か奇数かによって、4つの場合分けをする。 nが3の倍数でなく、奇数のとき nを3分割し並べると(n-1)C2通り……(1) (1)のうち、同じ数が重複する(たとえば2,2,7の様に)ものは3(n-1)/2通り……(2) 同じ数が重複する組み合わせは(n-1)/2種類……(3) p(n,3)=((1)+(2))/6+(3) =(n^2-1)/12 偶数のときは(2)=3(n-2)/2,(3)=(n-2)/2として p(n,3)=(n^2-4)/12 3の倍数で奇数のときは……… というようにすれば、できそうです。 エレガントじゃないけど。

  • 0shiete
  • ベストアンサー率30% (148/492)
回答No.1

一度に3つにわけることを考えると難しいので、まず、kだけひいておき、n-kを2つにわける問題にすれば数え上げれるのではないでしょうか? ただし、2つに分けるときは、2つともk以上の数字になるように切り分けます。こうすることによってkを1から増やしていったときに、同じ切り分け方が出てこないようになります。 (実際、やってみたら難しいかもしれません)

関連するQ&A

  • 自然数の分割に関連する質問

    1.和が n(>1) になる自然数の組合せ(注1)に対し、並べ方の総数が最大となる自然数の組み合わせ(注2)を式で導出することは可能でしょうか?可能ならばその式を教えてください。 2.また、上記の、和がnになる自然数の組合せに対し、並べ方の総数が最大となるような自然数の組み合わせを求めるということが、実際の社会、学問等におけるなんらかの意味のある問題を考える際に必要であれば、その必要となる具体的状況を教えてください。 2だけの回答でもかまいません。よろしくお願いします 注1 n=5の場合 (5),(4,1),(3,2),(3,1,1),(2,2,1),(2,1,1,1),(1,1,1,1,1)の7通り 注2 n=5の場合 (2,1,1,1)は(1,2,1,1),(1,1,2,1),(1,1,1,2)を含め並べ方は全部で4通りあり、            (2,1,1,1)が並べ方の総数が最大となる自然数の組み合わせである。    n=6の場合 (3,2,1)と(2,2,1,1)が並べ方の総数が最大となる自然数の組み合わせである。

  • 自然数Nをいくつかの自然数に分割してから積をとるときの最大値

    与えられた自然数Nに対して、Nをいくつかの自然数に分割してから積をとる。 このとき、その積が最大となるのはどのように分割したときでしょうか? たとえば、 5=3+2 と分解したとき、積の最大値は6 6=3+3 と分解したとき、積の最大値は9 7=3+4=3+2+2 と分解したとき、積の最大値は12 10=3+3+4=3+3+2+2 と分解したとき、積の最大値は36 このように分割の個数はいくつでもいいです。 できるだけ、3ずつに分割したほうがよさそうなことが予想できると思います。 この辺の証明や、また、条件を適度に変えたときの話題について、アイデアがありましたら、教えていただけないでしょうか? たとえば、和と積を交換したら、どのような結果が予想されるでしょうか?

  • 奇素数に自然数の番号を付与することについて.

    奇素数に自然数の番号を付与することについて. 奇素数 3,5,7,11,13,17,・・・・・ に対して, 順番に 1,2,3, 4, 5, 6,・・・・・ と番号を以下のように付けます. 奇素数 3   5  7  11  13  17 ・・・・・     ↑  ↑  ↑  ↑  ↑  ↑   番号 1   2  3   4   5   6 ・・・・・ 念のため,タテに書きますと, 奇素数  番号 ↓    ↓  3 ← 1  5 ← 2  7 ← 3 11 ← 4 13 ← 5 17 ← 6 ・・・・・・ p ← m ・・・・・・ こうすると,任意の奇素数 p には m という自然数が対応し,かつ, 任意の自然数 n には,奇素数 q が必ず対応します.すると, 奇素数の集合P={ 3,5,7,11,13,17 ・・・ } と 自然数の集合N={ 1,2,3,4,5,6 ・・・ } は, 1対1の対応がとれ,全単射となる写像が存在することになります. ここで,質問ですが,上記のような対応に対する数学的な理論が何か,ありますか? ピエール・デザルト (Pierre Dusart) の研究結果として, p(n)をn番目の素数とすると n ≧ 6 に対して,  n・ln(n) + n・ln{ln(n)} -n <p(n)<n・ln(n) + n・ln{ln(n)} が成り立つ.というものがありますが, これ以外に,何かあれば教えて下さい.

  • 素数の問題

    次のような素数の問題 (1)n^3 + 1 = p をみたす自然数nと素数pの組をすべて    もとめよ。 (2)n^3 + 1 = p^2 をみたす自然数nと素数pの組をすべて    もとめよ。 を聞かれ、 (1)n=1 p=2 (左辺を因数分解して。) (2) n=2 p=3 という解がでました。 これであっているのか自信がありません。 どなたか教えていただけないでょうか。

  • あるアニメで出された問題ですが…pが素数である必要

    pは素数、nは任意の自然数とします。 (1+n)^p -1-n^p がpで割りきれることを証明してください。 という問題です(式が分かりにくいので添付しました)。 pが自然数の場合に成り立つと思いますが なぜ、素数にしたのでしょうか?

  • 素数と組み合わせの問題

    Z会の問題なのですが、わからないところがあるので質問します。 nは素数pと自然数mを用いて、n=p^mと表される数であるとする。このとき、次の各問に答えよ。 (1)r=1,2,・・・,n-1のとき、nCrはpの倍数であることを示せ。 (2)nと(2^n)-1は互いに素であることを示せ。 nCrが自然数であることなら帰納法でなんとかなると思ったのですが、pの倍数になることがどうしても証明できません。どなたか教えてください。

  • 数列の自然数の2乗和

    数学Bの数列の範囲で 自然数の2乗の和は1/6n(n+1)(2n+1)で求められるとなっていて それの証明が 恒等式k^3-(k-1)^3=3k^2-3k+1でkに1からnまでを順々に代入して求めたn個の等式の両辺を加えるというものでした たしかにこれで1/6n(n+1)(2n+1)は求められたのですが なぜいきなり恒等式k^3-(k-1)^3=3k^2-3k+1が出てきたのか分かりません なにか他に違う求め方とかあるのでしょうか?

  • 規則性の問題

    自然数を次のように並べた 1、2、3、4、5、6、7 8、9、10、11、12、13、14 15、16、17、18・・・ と並んでいる この並びの中から 9、10 16、17 のように4つの数を取り出すと、その取り出した数の和は4の倍数になる。このことがこの数の並びのどこの4つを取り出しても成り立つこと、取り出した4つの数のうち最も小さいもをnとして証明しなさい。 私の考えは 9、10 16、17 の4つのように 最も小さい数を考えたとき 1、2 8、9 が成り立つようにすればいいと考えました それを文字に置き換えると n   、 n+1 7n+1 、 7n+2 この4つの和を式で表すと n+(n+1)+(7n+1)+(7n+2) =16n+4 =4(4n+1) となり 4に何を掛けても4の倍数になるので 取り出した4つの数字の和は4の倍数となる。 と考えました。 これでいいのでしょうか?間違い問うがありましたら教えてください。 また、もっとこのように書いたほうがいいとかがありましたら教えてください。

  • 連続した整数の数列の和が100になる数列は何通りあるか求めよ。 連続したn個の自然数の和はn(n+1)/2であるから n(n+1)/2=100 これを満たす自然数nは存在しない。 自然数だけで構成された連続する数では100を作ることが出来ません。。 最初から整数で考えるにはどうすればよいでしょうか。 答えを含めて教えて頂けたら幸いです。

  • ペル方程式の自然数解と有理数解

    Dを平方数でない自然数とするとき、ペル方程式 x^2-Dy^2=1 は非自明な整数解(x,y)∈Z^2、特に自然数解(x,y)∈N^2を持つことは有名な事実です。Dirichlet原理(無理数の整数周期性の非存在)を用いた抽象論的証明や、二次無理数の(正則)連分数展開の周期性を用いた構成的証明が知られていると思いますが、非自明な有理数解でよいのなら、 (x,y)=((D+n^2)/(D-n^2),2n/(D-n^2))が確かに解を与えることは直ちにわかります。必要というわけではないですが、n^2<D<(n+1)^2としておきます。 もちろん(D+n^2)/(D-n^2)と2n/(D-n^2)が自然数になるようなD、たとえば、D=2,3,5,6,8,10,…などは非自明な自然数解の存在も同時にわかるわけですが、たとえばD=7などでは自然数解の存在まではこれだけではわかりません。そこで、有理数解の存在を既知とした場合、それから自然数解の存在を導く証明はないのか、と考えたのですが、思いつきませんでした。もし何かよい方法があればご教授いただけませんか?