ナンバーズ4各桁の合計数Nの場合の数

このQ&Aのポイント
  • ナンバーズ4の各桁の合計値が N になるような組み合わせの場合の数を求める方法は、多項式の展開式から x^N の係数を求めることで計算できます。
  • 具体的な計算方法は、(1+x+x^2+x^3+x^4+x^5+x^6+x^7+x^8+x^9)^4 の展開式から x^N の係数を求めることになります。
  • また、数字の順序を無視して組み合わせを考える場合、組合せの制限を加える必要があります。たとえば、「千の位の数≦百の位の数≦十の位の数≦一の位の数」といった制約を加えることができます。
回答を見る
  • ベストアンサー

ナンバーズ4の各桁の合計数がNで、順序を無視するときの場合の数

http://oshiete1.goo.ne.jp/qa4407454.html で次のように書いてありました。 各桁の合計値が N になるようなナンバーズ4の組み合わせ のパターン数をf(N)とすると、f(N)は x の多項式 (1+x+x^2+x^3+x^4+x^5+x^6+x^7+x^8+x^9)^4 の展開式の x^N の係数です。したがって、 f(N)=Σ[k=0,floor(N/10)]((-1)^k)*4*(3+N-10k)!/(k!*(4-k)!*(N-10k)!) となります。 ( floor(a)は a を超えない最大の整数を表します。) これは、 (1+x+x^2+x^3+x^4+x^5+x^6+x^7+x^8+x^9)(1+y+y^2+y^3+y^4+y^5+y^6+y^7+y^8+y^9)(1+z+z^2+z^3+z^4+z^5+z^6+z^7+z^8+z^9)(1+w+w^2+w^3+w^4+w^5+w^6+w^7+w^8+w^9) を考え、例えば項 x^2*y^5*z^3*1 を4桁の数2530に対応させたものと思います。 ここで、数字の並び方の順序を無視し、たとえば、1112と2111を同じとみなします。もしくは、 「千の位の数」≦「百の位の数」≦「十の位の数」≦「一の位の数」 といった制限を加えます。 さっきのが、順列なのに対し、今回のは組合せです。 このとき各桁の合計値が N になるような4種類の数の組み合わせは、どのように書けるのでしょうか?

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

  • ベストアンサー
  • 20080715
  • ベストアンサー率68% (13/19)
回答No.4

>今回の質問は、それらをミックスしたようなものでしたが、 >漸化式はあるのかなあと考えています。 q-2項係数を[n,k]というように書くことにします。 次の等式が成り立ちます。 [n,k]=[n-1,k]+q^(n-k)*[n-1,k-1] ------(1) http://ocw.mit.edu/NR/rdonlyres/Mathematics/18-318Spring-2006/9E1C3273-156D-4145-BFAC-CA355E746873/0/young.pdf 0≦a[1]≦a[2]≦…≦a[k]≦j かつ a[1]+a[2]+…+a[k]=n を満たす整数の組(a[1],a[2],…,a[k])の個数を p(j,k,n) とします。 Σp(j,k,n)*q^n = [j+k,j] ------(2) が成り立ちます。 (1),(2)より、 n≧kのとき、 p(j,k,n)=p(j,k-1,n)+p(j-1,k,n-k) が成り立ちます。 >正の整数 n を k 個の正の整数の和として表す方法の総数p(n,k)とすると、 >p(n,4)くらいまでは明示式があるようです。 任意の正整数kに対してp(n,k)を床関数を使って書き表すことができます。 たとえば、 p(n,5)=(1/120)*((1/24)*(n+6)*(n+7)*(n+8)*(n+9)+(-20)*(floor(n/2+1/2))^3/3+5*(2*n+3)*(floor(n/2+1/2))^2-5*(3*n^2+9*n+5)*floor(n/2+1/2)/3-5*(3*n^2+27*n+68)+(15/2)*(floor((n+9)/2)-1)*(floor((n+9)/2))+(-10)*(floor((n+8)/3))*(3*(floor((n+8)/3))-2*n-15)+(-20)*floor((1/2)*(floor((n+8)/3)+(1-(-1)^n)/2))+(-30)*floor((n+9)/4)+24*(floor(n/5)-floor((n-1)/5))), p(n,6)=(1/720)*((1/120)*(n+10)*(n+11)*(n+12)*(n+13)*(n+14)+(5/2)*(floor((n+11)/2))*(2*(floor((n+11)/2))^3-4*(floor((n+11)/2))^2*(n+12)+(floor((n+11)/2))*(3*n^2+72*n+430)-n^3-2*(18*n^2+215*n+852))+(-45/6)*(floor((n+13)/2))(4*(floor((n+13)/2))^2-3*(n+14)*floor((n+13)/2)+3*n+38)+60*floor(n/3)^3-60*n*floor(n/3)^2+20*(n^2-1)*floor(n/3)+80*(n^2+12*n+47)+180*(floor((n+1)/4))^2-90*n*floor((n+1)/4)-270*(n + 6)+(-15/16)*(1-(-1)^n)*(n+11)*(n+13)+144*floor((n+14)/5)+45*(1-(-1)^n)*floor((n+13)/4)+40*(floor(n/3)-floor((n-1)/3))*floor((n+12)/3)+(-120)*(floor((n+15)/6)-floor((n+14)/6))+(-120)*(floor((-n-15)/6)-3*(floor((n+15)/6))^2+(n+13)*floor((n+15)/6)+1))

aiueo95240
質問者

お礼

本当に感謝いたします。 0≦a[1]≦a[2]≦…≦a[k]≦j かつ a[1]+a[2]+…+a[k]=n を満たす整数の組(a[1],a[2],…,a[k])の個数を p(j,k,n) すると、 Σp(j,k,n)*q^n = [j+k,j] すごいですね。まだ理解するには至っていませんが、不定方程式の解の個数についていろいろ考えていました。例えば、 α[1]+α[2]+…+α[n]=k、かつ、α[i]=0または1 を満たす解の個数は二項係数、C(n,k) α[1]+α[2]+…+α[k+1]=n+1、かつ、α[i]≧1 を満たす自然数解の個数は二項係数、C(n,k) α[1]+α[2]+…+α[n]=k、かつ、α[i]≧0 を満たす整数解の個数は重複組合せ、H(n,k) α[1]+α[2]+…=n、かつ、α[i]=1または2 を満たす整数解の個数をT[n]とすると、T[n]=T[n-1]+T[n-2]が成立し、フィボナッチ数列F[n]と比べると、T[n]=F[n+1] さらに、Σ[n=0,∞]T[n]z^n=1/(1-z-z^2)となるので、それから少し考察することで、 T[n]=Σ[β[1]+2*β[2]=nの0以上の整数解] {C(β[1]+β[2],β[1])} ------(*) が分かる。 例えばn=3のとき、 α[1]+α[2]+…=3、かつ、α[i]=1または2 の解は、3=1+1+1=1+2=2+1より3通りあるので、T[3]=3 このとき、 Σ[β[1]+2*β[2]=3の0以上の整数解] {C(β[1]+β[2],β[1])} =Σ[(β[1],β[2])=(1,1),(3,0)] {C(β[1]+β[2],β[1])} =C(2,1)+C(3,0) =3 となり確かに成立している。 このことと比べて下記のことを悩んでおります。 f:{1,2,…,n}→{1,2,…,k}の全射の個数k!*S(n,k)を考えると、 Σ[n=0,∞] k!*S(n,k)x^n = k!*x^k/(1-x)(1-2x)…(1-kx) つまり、 Σ[a[1]+a[2]+a[3]+…+a[k]=nの自然数の解]1^(a[1])*2^(a[2])*3^(a[3])*…*k^(a[k]) = k!*S(n,k) これを、(*)の右辺に対応するものとすると、(*)の左辺に対応するものは何でしょうか? 全射の個数k!*S(n,k)を、不定方程式の解の個数「のみ」で書くことはできるのでしょうか?

その他の回答 (3)

  • 20080715
  • ベストアンサー率68% (13/19)
回答No.3

漸化式を作って u(x,k) を求める方法は 次の本に書いてありました。 『 INTRODUCTION TO COMBINATORIAL ANALYSIS 』(Dover) (この本の chapter6, problems 7 ) 次のページも参考になると思います。 http://ja.wikipedia.org/wiki/Q%E4%BA%8C%E9%A0%85%E5%AE%9A%E7%90%86 (コーシーの二項定理) 正の整数 n を k 個の正の整数の和として表す方法の総数を p(n,k)とすると、 p(n,4)=floor((2*n^3+6*n^2-9*(1-(-1)^n)*n+144)/288) となるようです。 http://oshiete1.goo.ne.jp/qa1478775.html このことから 1/((1-x)*(1-x^2)*(1-x^3)*(1-x^4)) を級数展開したときの x^k の係数は p(n+4,4). これを使えば F(N) を床関数のみを用いて書くこともできるとは思います。

aiueo95240
質問者

お礼

たびたびありがとうございます。 正の整数 n を k 個の正の整数の和として表す方法の総数p(n,k)とすると、p(n,4)くらいまでは明示式があるようです。 http://mathworld.wolfram.com/PartitionFunctionP.html また、p(n,k)=p(n-1,k-1)+p(n-k,k) という漸化式もあるようです。 母関数は、 Σ[n=0,∞]p(n,k)x^n=x^k/(1-x)(1-x^2)…(1-x^k) なのですね。 また、正の整数 n を 正の整数 1,2,…,a のみを使った和として表す方法の総数をq(n,a)とすると、 母関数は、 Σ[n=0,∞]q(n,a)x^n=1/(1-x)(1-x^2)…(1-x^a) 漸化式は、 q(n,a)=q(n,a-1)-q(n-a,a) となると思います。 今回の質問は、それらをミックスしたようなものでしたが、漸化式はあるのかなあと考えています。

  • 20080715
  • ベストアンサー率68% (13/19)
回答No.2

後半部分は説明不足でした。補足しておきます。 0≦a≦b≦c≦d≦9 かつ a+b+c+d=N は変形すると、 1≦(a+1)<(b+2)<(c+3)<(d+4)≦13 かつ (a+1)+(b+2)+(c+3)+(d+4)=N+10 となります。 よって F(N) は、x, y の多項式 (1+x*y)*(1+x^2*y)*(1+x^3*y)*……*(1+x^13*y) の展開式の x^(N+10)*y^4 の係数に等しいです。 g(x,y)=(1+x*y)*(1+x^2*y)*(1+x^3*y)*……*(1+x^13*y)とおくと、 (1+x^14*y)*g(x,y)=(1+x*y)*g(x,x*y) ------(☆) が成り立ちます。 g(x,y)の展開式の y^k の係数を u(x,k) とします。 g(x,y)=Σu(x,k)*y^k, g(x,x*y)=Σx^k*u(x,k)*y^k です。 これらを(☆)に使って、両辺の y^k の係数を比べると、 u(x,k)+x^14*u(x,k-1)=x^k*u(x,k)+x^k*u(x,k-1). よって、 u(x,k)=(x^k*(1-x^(14-k))/(1-x^k))*u(x,k-1). この関係式を使って、 u(x,k)=x^(k*(k+1)/2)*(1-x^13)*(1-x^12)*……*(1-x^(13-k+1))/((1-x)*(1-x^2)*……*(1-x^k)). 特に、u(x,4)=x^10*(1-x^13)*(1-x^12)*(1-x^11)*(1-x^10)/((1-x)*(1-x^2)*(1-x^3)*(1-x^4)). F(N) =( u(x,4) の x^(N+10) の係数 ) =coef(N,(1-x^13)*(1-x^12)*(1-x^11)*(1-x^10)/((1-x)*(1-x^2)*(1-x^3)*(1-x^4))).

aiueo95240
質問者

お礼

ありがとうございます。 たいへんよく分かりました。 二変数にすることとか、漸化式にすることとかとても巧妙ですね。 僕も計数子のこととかを勉強したり、 クヌースのコンピューターの数学という本を借りて読んだりしていましたが、このようなことは知りませんでした。

  • 20080715
  • ベストアンサー率68% (13/19)
回答No.1

0≦a≦b≦c≦d≦9 かつ a+b+c+d=N を満たすような 非負整数の組(a,b,c,d)が何組あるか、ということですね。 この条件を満たすような非負整数の組(a,b,c,d)の個数を F(N)とすると、 F(N)=Σ[a=max(0,N-27),min(9,floor(N/4))]Σ[b=max(a,N-a-18),min(9,floor((N-a)/3))]Σ[c=max(b,N-a-b-9),min(9,floor((N-a-b)/2))]1. あるいは、 x の多項式 G(x) の x^k の係数を coef(k,G(x)) というように書くことにすれば、 F(N)=coef(N,(1-x^13)*(1-x^12)*(1-x^11)*(1-x^10)/((1-x)*(1-x^2)*(1-x^3)*(1-x^4))).

aiueo95240
質問者

補足

まことにありがとうございます。 前半は理解できました。 後半の係数のことがよくわかりません。 分母は、分割数p(n)での母関数と似ているのには気づきますが、 分子はどういう意味なのでしょうか?

関連するQ&A

  • ナンバーズ4の各桁の合計数がNのときの組み合わせの数

    ナンバーズ4についての質問です。 ナンバーズ4の各桁を合計した値をNとします(0≦N≦36、Nは自然数)  ⇒ナンバーズ4は0000~9999の中から数字を選択するため 各桁の合計値がNのときにナンバーズ4の組み合わせは 何パターンあるのか求める方法を教えてください。 例)N=0のときは0000の1パターン   N=1のときは0001 0010 0100 1000の4パターン これを上記のようなアナログなやり方ではなく 数式で求めたいのです。 よろしくお願いいたします。

  • 16進数n桁を10進数で表すときに必要な桁数

    16進数n桁を10進数で表すとき何桁必要なのかを調べていたのですが 例:FF(16進2桁)→255(10進3桁) 計算式はlog10(16^n)桁(端数繰り上げ)になると思います。 ところで16進n桁に対して10進は2*n桁あれば十分なのかどうかを知りたいのです。 つまり16進数100桁に対して10進数200桁あれば十分ですが nが大きい数字でも成立するのかどうか。 log10(16^n) < 2 * n になるのかな?? 当方数学的な知識が乏しいものでそうなるのかどうかわかりません。 是非ご教授頂けないでしょうか。宜しくお願い致します。

  • 場合の数について質問させてください。

    場合の数について質問させてください。 以下のような文字列は全部で何種類あるか? (質問その1)================ 条件 ================ ★「a,b,c,d,e......,z」(小文字のアルファベット。全部で26個) 「0以上9以下の整数」(全部で10個) 「.」(ピリオド)(1個) の、計37個の文字(以下、「文字」と呼ぶとき、0から9とか記号も含むこととします)から、n個の文字を選び、文字列を形成する ★文字列中に同じ文字が複数回登場しても構わない。 ★文字列の最初に記号(この場合はピリオド)をおいてはいけない ★文字列の最後にも記号(この場合はピリオド)をおいてはいけない ★文字列の中で、記号(この場合はピリオド)が連続してはいけない ★文字列を形成する文字が、「すべて数字」であってはいけない  (つまり、n個の文字のうち、1個以上、「小文字アルファベットまたはピリオド」が含まれなければいけない)  (ちなみに、「073754555555」みたく、一番左が0でも【「すべて数字」】ならだめです) ================ なお、これらを満たす文字列すべてを要素とする集合をX_1と呼ぶことにします。 また、X_1に属する要素の総数を、f(X_1,n)とよぶことにします。 (後述の、別の集合についてもおなじく) で・・・。 ★k=1,2,3,4,5,6のそれぞれの場合について、f(X_1,k)はいくつ? あと、できれば、 ★一般項(?)、つまり、f(X_1,n)も知りたいです。 (質問その2)================ (質問その1)の条件の、一番上を変更し、 「A,B,C,D,E,F....Z」(大文字のアルファベット。全部で26個) も使っていいこととします。(つかわなくてもOK) で、そうすると、計63個の文字から、n個の文字を選び、文字列を形成することになります。 このとき(他の条件は全部同じ)、 これらを満たす文字列すべてを要素とする集合をX_2と呼ぶことにします。 で・・・。 ★k=1,2,3,4,5,6のそれぞれの場合について、f(X_2,k)はいくつ? あと、できれば、 ★一般項(?)、つまり、f(X_2,n)も知りたいです。 (質問その3)================ 質問その1の「.」(ピリオド)を、「-」(ハイフン)に変更します。 他の条件は全て同じとします。 で、全部の条件を満たす文字列すべてを要素とする集合をYと呼ぶことにします。 で・・・、 f(Y,n)=f(X_1,n)であることはわかります。 でもって・・・ ★k=1,2,3,4,5,6のそれぞれの場合について、f( (X_1∪Y) ,k)はいくつでしょうか? あと、できれば、 ★一般項(?)、つまり、f( (X_1∪Y) ,n)も知りたいです。 === 同じように、 ★k=1,2,3,4,5,6のそれぞれの場合について、f( (X_2∪Y) ,k)はいくつでしょうか? あと、できれば、 ★一般項(?)、つまり、f( (X_2∪Y) ,n)も知りたいです。 =================== 以下、参考までに(関係ないのも含まれてるかもしれませんが) ●「p=10,26,11,27とか・・・、k=1,a2,3,4,5,6」について、 p^k、p_C_k の値を計算しておきました。 ↓ http://spreadsheets.google.com/pub?key=0AqIQfyJXnDwXdHBNcFZMNXVpS29Dcm10OWFjU3hqSGc&hl=en&output=html また、素因数分解すると・・・ ●10=2*5 ●11は素数(=1+10) ●22=2*11(=(1+10)*2) ●26=2*13 ●27=3^3(=1+26) ●36=(2^2) * (3^2)(=10+26) ●37は素数(=1+10+26) ●52=(2^2) * 13(=26*2) ●63=(3^2) * 7(=1+10+26*2) ●100=(2^2)*(5^2)(={1+10+26}+{1+10+26*2}=37+63) =================== よろしくお願いいたします。

  • 4n+1型の素数について

    4n+1型素数の無限性を示せ。 次のように考えた。行き詰まったのでアドバイスをお願いします。 4n+1の素数は有限で最大をpとする。 k=4(5×13×・・×p)+1 とおく。 kは合成数のとき、kは4n+3型の素数の偶数個の積に素因数分解できるから、  k=(4x+1)(4y+1) x,y自然数   =16xy+4x+4y+1  となる。  このあとの矛盾の導き方が見えないので、この流れの証明とすると このあとどうなるのか、よろしくお願いします。

  • 場合の数

    x+y+z≦20を満たす自然数の組は何通りか?の問題です。 和は3~20までの整数なのでそれぞれの場合の数を、3の場合は1通り、4の場合は3C2,5の場合は4C2、、、、20の場合は19C2、すべて足して1140通りと考えましたが、解答にはx+y+z+k=21を満たす自然数x、y、z、kの組に等しいので20C3=1140とあります。x+y+z+k=21を満たす自然数x、y、z、kの組に等しくなる理由がわかりません。よろしくお願いいたします。

  • 3けたの自然数を求める問題で、途中式が不明な点がありましたのでお聞きします。

    3けたの自然数がある。この自然数の数字を逆に並べた自然数は、もとの数より495大きい。また、この自然数の各位の数字の和は17で、百の位の数字の2倍と十の位の数の3倍との和は、一の位の数の3倍に等しい。はじめの数を求めなさい。 元の数を100X+10y+Z 逆の自然数を100Z+10y+X とおく。 100Z+10y+X=100X+10y+Z+495 (自然数の数字を逆に並べた自然数は、もとの数より495大きい) -99X+99Z=495(-99で割り、数字を小さくしました) X-Z=-5 (1)とする X+Y+Z=17 (2)とする 2X+3Y=3Z (3)とする (1)のX-Z=-5をX=Z-5に変形して(2)(3)に代入します。 (2)(Z-5)+Y+Z=17       2Z+Y=22 (A)とおく (3)2( Z-5)+3Y =3Z 2Z-10+3Y-3Z=0    -Z+3Y-10=0 (B)とおく ※(B)の計算の答えですが正しくは、こちらが正解ではないでしょうか?また、なぜ上の(3)の右辺に0がくるのか判りません。 (3)2( Z-5)+3Y =3Z    2Z+3Y-3Z=10       -Z+3Y=10(B)これが正解ではないでしょうか? 続きます・・・ (A)(B)より   2Z+Y=22 (A)  -Z+3Y=10 (B)×2倍     2Z+Y=22 (A) +)-2Z+6Y=20 (B) ―――――――――――       7Y=42        Y=6    Y=6を(A)に代入 よって2Z+6=22      2Z=16       Z=8 Z=8を(2)(Z-5)に代入します。 X=8-5=3 答え368 以上です。 分かりにくいところもあると思いますが、よろしくお願いいたします。

  • 7で割ると3余り、11で割ると4余る3ケタの自然数は何個あるか。

    7で割ると3余り、11で割ると4余る3ケタの自然数は何個あるか。 という問題で、 N=7m+3=11k+4とおいて、 m=(11k+1)/7  =k+(4k+1)/7 より、4k+1=7n k=(7n-1)/4 を代入して、 N=11{(7n-1)/4}+4  =(77n+5)/4 100≦N<1000より 100≦(77n+5)/4<1000 6≦n≦51 51-6+1=46個? となりました。 でも正解は12個でした。 知っている他のやり方でこの問題をすると、 7m+3=11k+4 7m=11k+1…(1) の一例を考えて入れてみて、 7*8=11*5+1…(2) (1)-(2)より、 7(m-8)=11(k-5) 7と11は互いに素であるので、 m-8=11nより m=11n+8 これをNの式に代入して、 N=77n+59 100≦77n+59<1000 1≦n≦12 ∴12個 となり、正解にたどりつけました。最初の方法でなぜ正解にたどりつけなかったのかがわかりません。何か条件を忘れているのでしょうか。2つのやり方の違い、最初のやり方の不足点を教えてください。

  • 一桁の数とは?

    一桁の数とは、{x|0<x<10,x⊆N}ただし、Nは整数(⊆は単一要素でも用いるとしてください)ですか? もしくは0<=x<10? -10<=x<10? お願いします。

  • 不等式の問題がわかりません

    (1) 2x+3y≦6n, x≧0, y≧0 (aは正の整数) を満たす点P(x,y)で、x,yがどちらも整数であるもの(格子点)の個数を求めよ。 (2) 2x+3y+6z≦6n, x≧0, y≧0 z≧0 (aは正の整数) を満たす点P(x,y,z)で、x,y,zがすべて整数であるもの(格子点)の個数を求めよ。 という問題で、 (1)は不等式を図示して y=k(k=1,2・・・)とy=-(2/3)x+2n の交点は( 3n-(3/2)k , k ) 交点が整数であるために2k=mとおくと、 y=m上の格子点の数は 3n-3m+1 よって、1≦y≦2nにおいて、y=(偶数)上の格子点の数は Σ[m=1,n](3n-3m+1) =(3/2)n^2-(1/2)n また図から、y=2k-1上の格子点の数は y=2k=m上の格子点の数より1多いので、 1≦y≦2nにおいて、y=(奇数)上の格子点の数は Σ[m=1,n]{3n-3m+2} =(3/2)n^2+(1/2)n y=0上の格子点の数は3n+1より、 求める値は (3/2)n^2-(1/2)n+(3/2)n^2+(1/2)n+3n+1 =3n^2+3n+1 ここまでは分かりました。 (2)はどうやっていいか手の付け方も分かりません。 (1)を使って簡単にして解くような気はします(分かりませんが)。 分かる方お願いします。

  • 隣り合う場合の数

    男m人(m≧n-1)、女n(n≧2)人のうち 女n人中k人だけが(2≦k≦n)隣り合うように一列に並ぶときの場合の数f(m,n,k)を教えてください。宜しくお願いいたします。