久しぶりに数学勉強してます。

組み合わせの問題は公式を使えば簡単にできるのですが、
なんで組み合わせの公式は分母と分子になってるのかわかりません。

なにかこの公式を理解できる方法ありましたらおしえてください。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

1,2,3,4の4枚のカードの中から2枚選ぶ組み合わせは何通りあるか、という例題で考えてみましょうか――4という数字が縁起悪いなんて言わないで。


原始人的な書き出し方でいくと、
 (1,2),(1,3),(1,4),(2,3),(2,4),(3,4)
の6通りあるということがわかります。
これを計算してみましょう。
まず、4枚のカードを2枚「並べる」やり方は何通りあるか考えます。
 □□
というふたつの「箱」に1~4の数字を入れる。
最初の箱には1~4の4通り入れることができます。
次の箱には、最初の箱に一枚使ってしまったから、3通りに減ります。
したがって、
 4(最初の箱)×3(次の箱)=12通り
となります。
これを組み合わせに発展させましょう。
この12通りの中には(○、△)というペアに対して、(△、○)というひっくり返したペアが含まれています。
ちなみに、カードは同じやつが使えないから、(○、○)というホモ的なペアは使えないのねん。(自分でかいててちょっとげっそりする。。)
というわけで、ひっくり返したペアの分をとっぱらわなければならない。
この作業は、同じカードの組み合わせが無いから、単純に2で割ってやるだけでいいです。つまり、
 12÷2=6通り
となって、原始人的解法と一致しました。
この作業の最後で2で割っていますが、これが公式の分母の意味なのです。
これを公式でやると、
 C(4,2)=(4×3)/(2×1)=6
となるわけ。
組み合わせの公式を使わずに問題を解いてみると、本質が良くわかります。
数学では公式というのはある意味麻薬です。
そんなもの、多用するべきじゃないと思いますね。

では頑張ってください。
    • good
    • 17

順番を入替えても結果が変わらないものは、


とりうる場合の数を、その順番を入れ替える可能性の数で減らしてやる
必要があるからです。

たとえば、3人の中から2人を選ぶのなら、
A,B B,C C,A の3パターンがあります。
B,A C,B A,C は上のパターンと同じですから、
ひっくり返した場合の場合の数を減らしてやる必要があります。
    • good
    • 3

たとえば0から9までの数字を使って3桁の数字を作るときは



10×9×8=720通り

これは10!を7!で割ったものです。

10×9×8×7×6×5×4×3×2×1       10!
ーーーーーーーーーーーーーーーーーーーー = ---
  7×6×5×4×3×2×1              7!

ということになります。
しかしこれは順列であって組み合わせでは選んだ3個の数字の順番は関係ありませんので3個の数字の組み合わせの数6で割らないと重複してしまいます。

(例)123,132,213,231,312,321は組み合わせでは同じものなので6通りある。
これは3!で 3×2×1=6ということです。

そこで 720÷6=120 ということになります。
これをいっぺんに書くと

 10×9×8×7×6×5×4×3×2×1        10!
ーーーーーーーーーーーーーーーーーーーーー = ----
(7×6×5×4×3×2×1)(3×2×1)        7!3!

となりこれが組み合わせを求める式になります。

分数になるのは階乗(こんな字だっけ?)を使うために割らないといけないので分数にしたほうがわかりやすいためだと思いますよ。

組み合わせだと選んだ数と残りの数の両方の階乗で全体の数の階乗を割るので、10個の中から7個を選んでも3個を選んでも同じ120通りになりますね。

これを利用すると30個の中から28個を選ぶとき2個を選んだと考えて

30×29     28!
ーーーーー × ---
 2×1      28!

と考えると右の分数は1なので暗算でも答えがでます。
どちらか数字の小さいほうを選んで計算すると計算時間が少なくて済みます。

一般化した式は下の方が紹介しているので、具体的な例で書いてみました。

頭悪いのでここに分数を書き込むのに時間がかかっちゃいました(笑)
    • good
    • 6

順列の公式はOKでしょうか?


nからrこ選んで、順不同で並べるとき、最初はn個選べ、次はn-1個、、、最終的にn-r+1個になるまで選んでいくことと同じなので、
n * (n-1) * … * (n-r+1) = n! / (n-r)! 通り

組み合わせなのですが、

分子は組み合わせを被って数えて何通りあるか(順列)
分母はその個数での組み合わせが 何通りあるか
となっています。(わかりにくい表現でごめんなさい

つまり
1234 を順序に関係なく2つとって、並べれば、 4P2 = 4!/(4-2)! = 12通り。
12 13 14 21 23 24 31 32 34 41 42 43
しかし、今、12,21、13,31等は同じとしたいので、それぞれの組につき、2! 回ずつ(2P2)よけいに数えていることになる。
よって、 4P2 / 2P2 = (4!/2!)/2! = 4*3 / 2*1 = 6 通り
となります。

よって、一般化すれば、
nCr = n! / (r! * (n-r)!) = n*(n-1)* … *(n-r-1) / r! というようになります。
これが、おっしゃる公式でしょうか?^^;

いかがでしょう?
    • good
    • 2

順列 nPr = n!/(n-r)!


組合せ nCr = nPr / r! = n! / {(n-r)! r!}
であらわしますよね。(参考URLを見てください) どちらも分母がありますね。

組合せの数は順列の数を r! で割ったものです。

まず順列です。n人の生徒からr人の選手を選んでリレーで走らせます。
このときの走る順番の並び方(順列)の数は第1走者はn人誰でもよく、第2走者は先頭の一人を除いた(n-1)人なら誰でもよく・・・ということで nPr の式が導き出されます。

次は組合せです。先ほどと同じ条件で走る順番に関係なく、メンバー表の種類の枚数を考えます。(これが組合せです)。先ほどの順列ではr人のランナーの走順を変えたものがたくさん重複している事がわかりますね。重複の数はr人からr人を選んで並べる順列の数になります。
従って分母にr!が来るのです。
判りにくければ補足して下さい。

参考URL:http://www.fatty.or.jp/math/comb.html
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelで、数字の組み合わせの合計が一定数になるパターンの抽出

Excelで、数字の組み合わせの合計が一定数になるパターンの抽出

たとえば、つぎの配列があるとします。
A(5){10,20,30,40,50}要素数が5つ1..5、{}は内容
このなかで二つ以上の組み合わせで和が60になる組み合わせを出したいとします
答えは
パタン1:1,2,3  /* 10+20+30 */
パタン2:1,5 /* 10+50 */
パタン3:2,4 /* 20+40 */

同じような処理をExcelの関数では実現できますでしょうか?

また上記のような組み合わせのパタンの総数を求める公式はありますか?
初歩的な高等数学で恐縮です。

Aベストアンサー

> 同じような処理をExcelの関数では実現できますでしょうか?

VBA の既製の関数にはご質問のものはありません。
ただし、質問者さんご自身が Excel の VBA で その関数を作るのは簡単です。
リカージョンのお手本みたいなアルゴリズムでしょうね。

Q分母分子に未知数のある方程式の解き方

(x+a)/(x+b)=c/d のような方程式をxについて解きたい場合どのように変形していけばよいのでしょうか?
初歩的な質問で申し訳ありませんが、よろしくお願いします。

Aベストアンサー

 
(x+a)/(x+b)=c/d
d(x+a)=c(x+b)
dx+da=cx+cb
dx-cx=cd-da

 

QExcelで組み合わせ!8人で3コースを巡回するパターンを作成したい

Excel初心者です
8人でA,B,Cの3コースを巡回する組み合わせを作成したいのですが、
例えば、Aコースが1番目の人と2番目の人が組で
以下Bが3&4,Cが5&6、で7&8は休みでスタートします
こういうのを一つのパターンとして、次回は同じコースを回らずかつ
違う人と組んでさらに休みも同じように振り分けたいのです

補足として、1年間の日程で巡回するのは決まった曜日です
組み合わせとして1番目の人は他の2~7番目の人と組む形が
できるようにしたいです。(8人全員に当てはまります)

ちなみに、コースが三つなので8×3で
24パターンあるってことですよね
休みを含めると8×4で32あることになるのかな?

よろしくお願いします

Aベストアンサー

補足です。

> 2520通りということですが

これは8人の組合わせの数です。
4組が休みを入れた4つのコースを取る、というのは
24通りありますから

2520×24となります。これは一日に取り得るパターン
の数です。
これを次回のコースの取り方を考慮したら順列組合せ
となり、2520の24乗となり、いや、24の2520乗かな?
分からない・・・その中から良いものを探すというこ
とです。まあ、あっという間に天文学的数字を超えます。

全宇宙の素粒子の数を集めても10の74乗程度でしか
ありません。

これは答えの無い問題、と私は言い切ります。少しずつ
昔を思い出してきました。
ベストでは答えがありませんが、ベターな答えは出せ
ます。最低で2千万円のプロジェクト、答えに欲出せば
1億円のプロジェクトと見積もります。それでもベター
な回答しかえられません。

しかし順列は諦めるという割きりがあります。大して
意味ないでしょう。得られない答えなんだから。
従って、私なら2520×24の組合せを作って、乱数で今回
は、これにすると決めます。次回は1度使ったパターンを
消して、残りで乱数で選びます。たまたま休みが続く人
が出ても仕方が無い、とせざるを得ません。あるいは
休みが続かない、だけを条件に選び直しはありそうですね。

補足です。

> 2520通りということですが

これは8人の組合わせの数です。
4組が休みを入れた4つのコースを取る、というのは
24通りありますから

2520×24となります。これは一日に取り得るパターン
の数です。
これを次回のコースの取り方を考慮したら順列組合せ
となり、2520の24乗となり、いや、24の2520乗かな?
分からない・・・その中から良いものを探すというこ
とです。まあ、あっという間に天文学的数字を超えます。

全宇宙の素粒子の数を集めても10の74乗程度でしか
ありません。

...続きを読む

Q分母と分子の入れ替えた場合小数ではどうなるか

分数の分母と分子を入れ替えることを目的とします。

浮動小数xの分子と分母を入れ替えた解はどのような計算式になるでしょうか?

よろしくお願いします。

Aベストアンサー

1/x

xが無限小数になる可能性もあるので、誤差は発生するかもしれません。

Q組み合わせパターンを作りたいのですが、どのようにすれば効率的ですか?

こんにちは。

現在、以下のアンケートがあります。

         選択肢(Aはよい、Bはふつう、Cは悪い)
問1 ××× A B C
問2 ××× A B C
問3 ××× A B C



問11 ××× A B C

ここで、問1~問11までの設問全体の組み合わせのパターンがどれだけどんなものがあるのか一気に出したいのですが、どのような方法がありますでしょうか?もし、ソフトがあればご紹介して頂ければ幸いです。

例えば、
パターン1としては、問1~問11までが全てAというパターン、
パターン2としては、問1~問11までが全てBというパターン、
パターン3としては、問1~問11までが全てCというパターン、
パターン4としては、問1~問10まではAで問11だけがBというパターン



など、3の11乗パターン存在すると思ってます。
こうしたパターンの一覧表を一気に作りたいのですが、どのようにすればよろしいでしょうか。

ご教示頂ければ幸いです。宜しくお願い申し上げます。

Aベストアンサー

下記のプログラムをVB6で作ってみました。(あまりきれいではないですけど)pen4-2.8G メモリ512MBで90秒ほどで修了しました。 エクセルのことはよくわかりませんがそんなに難しくはないと思います。

Private Sub Command1_Click()
Dim str_out As String
s_time = Now()
str_out = ""
For i1 = 1 To 3
For i2 = 1 To 3
For i3 = 1 To 3
For i4 = 1 To 3
For i5 = 1 To 3
For i6 = 1 To 3
For i7 = 1 To 3
For i8 = 1 To 3
For i9 = 1 To 3
For i10 = 1 To 3
For i11 = 1 To 3
str_out = i11 & i10 & i9 & i8 & i7 & i6 & i5 & i4 & i3 & i2 & i1
Debug.Print str_out
str_out = ""
Next i11
Next i10
Next i9
Next i8
Next i7
Next i6
Next i5
Next i4
Next i3
Next i2
Next i1
Debug.Print s_time
Debug.Print Now
End Sub

下記のプログラムをVB6で作ってみました。(あまりきれいではないですけど)pen4-2.8G メモリ512MBで90秒ほどで修了しました。 エクセルのことはよくわかりませんがそんなに難しくはないと思います。

Private Sub Command1_Click()
Dim str_out As String
s_time = Now()
str_out = ""
For i1 = 1 To 3
For i2 = 1 To 3
For i3 = 1 To 3
For i4 = 1 To 3
For i5 = 1 To 3
For i6 = 1 To 3
For i7 = 1 To 3
For i8 = 1 To 3
For i9 = 1 To 3
For i10 = 1 To 3
For i11 = 1 To 3
str_out = i11 &...続きを読む

Q変数が分母分子両方にあるグラフの概形

お世話になります。

変数が分母分子両方にあるグラフの概形について

http://www.wolframalpha.com/input/?i=%28x-1%29^2%2F%28x%2B1%29^3
http://www.wolframalpha.com/input/?i=%28x%2B1%29%28%28x-2%29%2Fx^3%29

こちらのサイトで色々試してみたところ、双曲線を作ることはわかりましたが、
(当たり前ですが)分母分子の変数の次数によってグラフの概形は色々で、法則性がよくわかっていません。

変数が分母分子両方にある関数のグラフについても、
偶関数、奇関数、上向き・下向きなどは最大次数だけで判断すればいいのでしょうか?

Aベストアンサー

分数式で書かれた関数なら、約分を終えた後で
分母が因数分解できれば、だいたいの形は判る。
分母が 0 になる点の左右で、値が +∞ か -∞ か
だけ見れば、グラフっぽい感じにはなるからだ。
あとは、それこそ分子分母の最高次項を見れば、
変数→±∞ での様子も判る。
そのくらい解れば、大雑把なグラフは描ける。
微分して増減表を書いたほうが、正確なのは
言うまでもないけれども。

Qvba  組み合わせパターン表示

1,2,3,--,n-1,nからm個とる組み合わせのパターンを
セル(1,1)から(nCm、nCm)に表示させる処理をVBAで記述
したいのですが、どうすればいいのでしょうか。
よろしくお願いします。

Aベストアンサー

再帰呼び出しのアルゴリズムは「自分自身を呼び出す」わけですから、普通の上から下へ
読んでいくフローとはひと味違って、考えにくいところがあります(実は私もしばらくや
ってなかったので今回少し手こずりました)。

各行の意味を書きます。


Const nStr As String = "あいうえおかきく" '←n個の文字列
Const m As Integer = 3 '←取り出す個数
Dim n As Integer '←ご質問文のn
Dim rStr As String '←m個取り出した文字列を結合したもの
Dim mRow As Integer '←エクセル表へ書き出す際の行番号
Dim Nest As Integer '←再帰呼び出しの深さ=rStrの何文字目に取り出すのか
'-----------------------
Sub combi()
n = Len(nStr) 'nStrの文字列長をnに代入
If m > n Then Exit Sub 'nよりmが大きければ終了
rStr = String(m, " ") 'rStrにm個の空白を代入
Cells.ClearContents '書き出す表をクリア
mRow = 0 '書き出す行番号0クリア
Nest = 0 '再帰呼び出し深さ0クリア
combiPr (0) 'サブルーチン combiPr を引数0で呼び出し
End Sub
'-----------------------
Sub combiPr(n1) 'サブルーチン開始 引数はその時点での開始位置(nStrの何文字目まで処理したか)
Dim mCol As Integer '←エクセル表へ書き出す際の列番号
For nn = n1 + 1 To n - m + Nest + 1 'nnを開始位置の次の文字から始めて残りの文字数の手前までFor~Nextを繰り返す
Nest = Nest + 1 '再帰呼び出しを1カウントアップ
Mid(rStr, Nest, 1) = Mid(nStr, nn, 1) 'rStrのNest番目にnStrのnn番目を代入
If Nest = m Then 'rStrに取り出したのがm文字目なら
mRow = mRow + 1 'エクセル表の次の行へ
For mCol = 1 To m 'rStrの1文字目からm文字目まで書き出す。
Cells(mRow, mCol).Value = Mid(rStr, mCol, 1)
Next
Else 'そうでなければ、つまり現在の開始位置(=nStrの何文字目まで処理したか)がm個まで達してなければ
Call combiPr(nn) '現在の到達位置(nStrの何文字目まで処理したか)にnnをセットしてcombiPrを呼び出す(再帰呼び出し)
End If
Nest = Nest - 1'再帰呼び出しを1後退
Next
End Sub


手順は原始的なものです。
あ~く まで書かれたカードを8枚ならべて3枚抜き出すことを考えればお解りになるで
しょうか。

あ を一枚抜き出し、
い を抜き出し2枚目に置きます。
う を抜き出し、3枚目とします。←これを く まで繰り返します。

次に、い を戻して う を新たな2枚目とします。
え を抜き出し、3枚目とします。←これを く まで繰り返します。

の繰り返し・・・・

を行っているわけです。

ポイントは、1枚目を抜き出すのは か までだという点です。
き まで抜き出したら(く までしかないので)3枚目のカードがなくなります。
同様に2枚目は き までしか抜き出してはいけません。
これが「For nn = n1 + 1 To n - m + Nest + 1」の「n - m + Nest + 1」の部分の意味です。

テキストベースのみの説明なので伝えにくいのですが、不明な点があったら補足説明しますの
で、またおたずねください。

再帰呼び出しのアルゴリズムは「自分自身を呼び出す」わけですから、普通の上から下へ
読んでいくフローとはひと味違って、考えにくいところがあります(実は私もしばらくや
ってなかったので今回少し手こずりました)。

各行の意味を書きます。


Const nStr As String = "あいうえおかきく" '←n個の文字列
Const m As Integer = 3 '←取り出す個数
Dim n As Integer '←ご質問文のn
Dim rStr As String '←m個取り出した文字列を結合したもの
Dim mRow As Integer '←エクセル表へ書き出す際の行番号
...続きを読む

Q分子や分母に分数を代入 やり方が分からない

分子や分母に分数を代入が分かりません。

y=2/9のときの7/4yの値を求めよ
という問題です。

どなたか教えていただけないでしょうか。
お願いします。

Aベストアンサー

皆さんの回答を読んでないでしょ。
とても重要な
(7/4)y なのか、7/(4y) なのかが補足されていません。
※分数も数の種類です。
 中学校に入って数学になった時に、「割り算は逆数をかける」「引き算は負数を加える」と考え方を切り替えましたよね。そして、数には、実数、有理数(分数で表される数)も習ったはず。無理数(分数で表すことができない数)も習得済みかもしれません。
 ・・・とってもとっても大事なところです。・・・
 それがあって、はじめてxやyという未知数を自在に操れるようになりましたね。!!!
 2÷3 ≠ 3÷2 だったのが、2×(1/3) = (1/3)×2、
 3-2 ≠ 2-3 だったのが、2+(-3) = (-3)+2
もちろん、x + (-y) = (-y) + x とか、x × (1/y) = (1/y) × x
 これによって[交換][結合][分配]が自由自在にできるようになりましたね。
★徹底的に復習しておきましょう。

 逆数とは、その数にかけると1になる数でしたね!!
  2の逆数とは(1/2)、(1/5)の逆数は(5/1)、すなわち5
  2/3の逆数は3/2、4/7の逆数は7/4

さて、

(7/4)y の値を求めよと言うことなら
 (7/4)y = 7 ×(1/4)×y
     = 7 ×(1/4)×[2/9]  []内がy
     = 7 ×(1/4)×2×(1/9)
     = 7×2×(1/4)×(1/9)  交換ができる
     = 7× (1/2) ×(1/9)
     = 7×   1/18
     = 7/18

7/(4y) の値を求めよと言うことなら
7/(4y) = 7×(1/(4y))
    = 7×(1/(4[2/9]))
    = 7×(1/(8/9)) ★1を(8/9)で割るのだから、1にその逆数(9/8)をかけるに等しい
    = 7×9/8      早速でてきたでしょ!!(^^)
    = 63/8

 数学は、実に馬鹿らしい・・分かりきったことを積み上げていく学問です。
  1/(8/9) すなわち、1÷(8/9) は、1×(9/8)とまったく同じ意味だということ。

 一学期の数学なんて、本当にばかばかしい当たり前のことを数式で考えるところ。馬鹿馬鹿しいと寝てたら、取り残されるよ。

皆さんの回答を読んでないでしょ。
とても重要な
(7/4)y なのか、7/(4y) なのかが補足されていません。
※分数も数の種類です。
 中学校に入って数学になった時に、「割り算は逆数をかける」「引き算は負数を加える」と考え方を切り替えましたよね。そして、数には、実数、有理数(分数で表される数)も習ったはず。無理数(分数で表すことができない数)も習得済みかもしれません。
 ・・・とってもとっても大事なところです。・・・
 それがあって、はじめてxやyという未知数を自在に操れるようになりましたね。...続きを読む

Q数字の組み合わせパターンの取得について

a組 1,2,3,4,5,6,7,8,9
b組 1,2,3,4,5,6,7,8,9
c組 1,2,3,4,5,6,7,8,9

上記のような各組から、それぞれ1つずつ番号を選択し
出来上がる組み合わせパターン全てを取得したいのですが
どうしてもうまく取得できません。
各組の番号の重複はしないように取得したいので
9*8*7=154の組み合わせ全てを取得したいです。
(計算合ってますかね・・・)

例○:1,2,3 2,1,3 ・・・
例×:1,2,1 2,4,4 ・・・

質問も初めてなので、書き方など不明な点や不手際があれば
あわせてご回答いただけると感謝です。

Aベストアンサー

失礼しました。そう例示がありましたね
であれば、504通りになるのかな?

<?
$x=1;
for($i=1;$i<=9;$i++){
for($j=1;$j<=9;$j++){
if($i==$j) continue;
for($k=1;$k<=9;$k++){
if($j==$k or $i==$k) continue;
print $x++.":".$i.",".$j.",".$k."<br>\n";
}
}
}
?>

Q簡単な割り算: 分子が2、分母が4,40、400。

分子を例えば2
分母を例えば4として計算します。次に、この分母を大きな数字に変えていき、計算していきます。
2/4よりも2/400の方が答えは小さな数字です。
分母を大きくすると、答えは小さくなります。
分母を、ものすごく大きくする(例えば、4兆)と、2/4兆の答えはすごく小さな値です。
だんだんとゼロに近づくように思います。

さて、逆はどうでしょう。
分母を0.4で計算し、次に、分母を0.0000000000004で計算します。
すると、後者の方が答えは大きくなります。
では分母を0.000000000000000000000000000000000000000000004にすると
答えは大変大きな数字になります。
では、このような発想から分母をゼロで割ると、答えは 無限大でしょうか。

答えは、ない か、ゼロか という発想もあるかもしれませんが
上記のような発想では 無限大になると思います

違う??

Aベストアンサー

確かに分母が0でさえなければ0に近づくほど値は大きくなりますが、それをもって0で割ると無限大と結論することはできません。
数学的には「割り算は掛け算の逆算」という絶対的な公理が存在しているので、答えの定まらない「0で割る」という行為自体が例外処置で除外されているからです。
つまり、質問の例で言えば仮に2÷0=無限大なら、無限大×0=2という式が成り立つことを証明しなければならないと言うことです。
これができて初めて0で割ると無限大と結論できるのです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング