• ベストアンサー

N個の値の大小関係の組み合わせ数

N個の値の大小関係の組み合わせ数を求めるプログラムのアルゴリズムを考えていますがうまくいきません。(3個の値の場合は13通り) スマートに求める式をご存知の方、教えていただけないでしょうか

  • pet17
  • お礼率85% (6/7)

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

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

区別できるn個のものをk個の箱に、どの箱も少なくとも1つ入っているように分ける分け方の数をF(n,k)とすると、求める数は、 Σ[k=1…n]F(n,k) で表せます。 また、F(n,k)は次の式で表せます。 F(n,k)=Σ[i=0…k-1]((-1)^i*(k-i)^n*kCi) n=10まで計算してみたら下記のようになりました。 1,3,13,75,541,4683,47293,545835,7087261,102247563

pet17
質問者

お礼

迅速な回答ありがとうございました。 助かりました。

関連するQ&A

  • 3つの値の大小関係の組合せ。

    a,b,cの3つの値があるとき、その大小関係の組合せが何通りあるかを求める計算式を教えてください。 3の3乗から、重なる組合せを引いていくのだとおもうのですが、、

  • 点n個から三個の点を選んで三角形を作る組み合わせの

    点n個から三個の点を選んで三角形を作る組み合わせの問題があると思うのですが、あのとき直線になってしまう場合を引くと思うのですがそれをどう求めればいいのかがよくわかりません よろしくお願いします。

  • 数の大小関係

    当たり前のことを聞くようなのですが、例えば3<5や2<10の不等式が成り立つのは 「数がそのように(10進法で)並んでるから」なのでしょうか?もしそうなら 1,2,3,4・・・・と数が並んではおらず4,2,3、1・・・・というように 数が並んでいたのだとしたら(現実とは異なりますが)4<3、2<1というような 大小関係もありえたのでしょうか? あと、整数の場合は1,2,3,4・・と数が並んでるから大小関係が3<5や2<10と なるとして、例えば小数で1.5<1.6となるのはどうしてなのでしょうか? 言葉を言いかえるとすれば小数のどのような定義(定義という言葉がふさわしいかは わかりませんが)によって1.5<1.6や2,7<5,8となるのでしょうか? 小学生の時に習ったのかもしれませんが覚えておりませんので上の2点を教えていただけると ありがたいです

  • m個の数字をn個のグループに分けるとき、

    m個の数字をn個のグループに分けるとき、 各グループの和s(i) ,(1<=i<=n) が、指定した比 r(0):r(1): ・・・ :r(n-1):r(n) ( = s(0):s(1): ・・・ :s(n-1):s(n) ) に一番近くなるようなグループ分けを導けるアルゴリズムはありますか。 例えば、{1, 3, 4, 6}を和の比が1:2に一番近くなるように2つのグループに分けると、 {1, 4}, {3, 6} となります。(もし違ってたら指摘してください) アルゴリズムでなくても、こうしたら良いんじゃないか、という考えがありましたら 教えてください。 総当たりで調べる場合はどのようにすれば、効率良く調べられるかという点もお願いします。 よろしくお願いします。

  • 数の和の大小関係についてです。

    数の和の大小関係についてです。 背景としては、n個の数をk個のグループにできるだけ均等に分ける話を考えていて、この質問に至りました。 n個の正の数a1,a2,・・,anについて 0      1個 a1,a2,・・,an                n個 a1+a2,a1+a3,・・,a(n-1)+an     n*(n-1)/2個 a1+a2+a3,・・,a(n-2)+a(n-1)+an   n*(n-1)*(n-2)/6個 ・ ・ a1+a2+・・a(n-1),・・・,a2+a3+・・an  n*(n-1)/2個 a1+a2+・・+an        1個 の合計2^n個の数を考えます。上のa(n-2)やa(n-1)の括弧内は添字です。 この2^n個のの数を横一列に並べて数列とみなす方法の総数は(2^n)!です。 (2^n)!通りの並べ方のうち、「あるa1,a2,・・,anを選べば、この数列が広義単調減少(2^n-1個の”≧”で結ばれる関係)になる」ような並べ方は何通りあるでしょうか。 たとえばn=3のときは 0 a1,a2,a3 a1+a2,a1+a3,a2+a3 a1+a2+a3 の計8個の数について 8!通り数列がとりあえず考えられます。 その中で、 a1+a2+a3≧a1+a2≧a1+a3≧a1≧a2+a3≧a2≧a3≧0は、a1=4 a2=2 a3=1とすれば成立 a1≧a2+a3≧a1+a2+a3≧a2≧a1+a3≧a3≧0≧a1+a2は、どんなa1,a2,a3を選んでも不成立です。

  • N個の整数の並び替えるアルゴリズム

    N個の整数1,2,3,...Nから任意のM個(M < N )を取り出すのですが、重複はダメという場合、どのようなアルゴリズムがあるでしょうか。重複ありなら、Nまでの一様乱数を発生させて整数化して取り出すことは可能です。今回は重複なしです。重複があったらやり直して重複なしになるまでやり続けるというのはダメだなと思っています。 データ処理言語のRはコマンド1つのようですが。言語はFortranなのですが、アルゴリズムのレベルだとどれでも同じと考えています。よろしくお願いします。

  • 中央値の大小関係について

    中央値の大小関係について n個のデータがあるとき、データの中央値 m を以下のように定義します。 中央値= 小さい方から (n+1)/2 個目のデータ 〔nは奇数〕   小さい方から n/2 個目のデータと n/2+1 個目のデータの平均 〔nは偶数〕 次にn個のデータを n1個とn2個のデータに分割(n1+n2=n)し、 n1個のデータの中央値を m1 n2個のデータの中央値を m2 とします。 このとき、  m1<m かつ m2<m となることは有り得るのでしょうか? 某プログラム言語を使ってデータ分析をしていたところ上記のような結果が発生しました。 直感的にはないと思うのですが。プログラムミスでしょうか?よろしくお願いします。

  • n個の箱とn個の球を全部異なるように入れる総数

    n個の箱とn個の球がある。n個の箱には、1,2,・・・nと通し番号がついている。n個の球にも1,2,・・・nと通し番号がついている。いま、n個の箱に1つずつ球を入れるとき、箱の番号と球の番号が全部異なっているような入れ方の総数をU_nとする。 (1)U_1、U_2、U_3、U_4を求めよ (2)U_n+1、U_n、U_n-1の間の関係を表す式を求めよ (3)U_n+1、U_nとの間の関係を表す式を求めよ。 この問題を考えています。(1)はU_1=0、U_2=1、U_3=6、U_4=9 数え上げていったのですがあっているでしょうか? (2)(3)は「漸化式」を求める問題だと思うのですが、 うまく立てられません。予想して帰納法はうまくいきませんでした。ほかにいい方法はないでしょうか? 回答いただければ幸いです。よろしくお願いします

  • √のある式の大小関係

    3-√6と2-√2 の大小関係を調べたいのですがその場合√6 √2 の値を知らなければわかりませんか? これまでは2<√6<3 のように考えてきてやってこれたのですが上で述べた大小関係は解けません。 やはり素直に覚えていったほうが良いのでしょうか?

  • n個のものからr個を取り出す実際の計算法を教え乞う

    例えば,5個のものを,1,2,3,4,5(n=5)とします.この5個から2個(r=2)を取り出す組み合せは,(1,2), (1,3), (1,4), (1,5), (2,3), (2,4), (2,5), (3,4), (3,5), (4,5) の10通りです. また,3個(r=3)を取り出す組み合せは,やはり,(3,4,5), (2,4,5), (2,3,5), (2,3,4), (1,4,5), (1,3,5), (1,3,4), (1,2,5), (1,2,4), (1,2,3) の10通りです. では,質問です. 質問:「n 個のものから r 個を取り出す実際の計算法(上記のような組み合せの数列を得る)を教えて下さい.」 よろしくおねがいします.