順列や組合せの問題でPやCを使って計算をします。
その時、どういう場合に、Pか、Cを使うのか、イマイチ良く分かりません。例えば、

(1)15人の中から図書委員、体育委員、広報委員各1人を選ぶ方法は何通りあるか。ただし、兼任は認めないものとする。

(2)15人の生徒の中から4人の学習係を選ぶ方法は何通りあるか。という問題には

(1)はP、(2)はCを使います。

上記のような問題なら何とか分かりますが、応用になった時、計算する際どっちか、区別する方法を教えてください。お願いします。

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

A 回答 (5件)

順列や組み合わせは、その順序が大切です。



いま話題のロト6で考えてみましょう。ロト6は42個の数字から任意の6個の数字を選ぶくじです。
ここで、引かれたくじの番号を「引いた順番通りに」ならべてみましょう。
32、27、17、15、3、22
でも、いまのロト6の当選発表は、引いた順番ではなくて単に、小さいものから順に
3、15、17、22、27、32
と発表されます。これが、まさに組み合わせで、順序を考えないものです。
仮に、引かれたくじの順番が、32と27が入れ代わりになっても、当選くじには影響しません。
こういった、順序が結果に影響しない場合は、組み合わせで42C6となります。

でも、引いた順序が結果に影響する場合はどうでしょうか?
ナンバーズや、普通の宝くじがこれにあたります。
引く順番を、千の位、百の位、十の位、一の位と抽選する場合、たとえば
6328
ならば、もし千の位の6と百の位の3の順序が逆ならば、3628となり
全く別の数字になってしまいます。こう言った場合は順列で各位は10P1
となり、4桁ならば10P1の4乗となります。
質問の例では、「兼任を認めない」とあるので、
例えば、太郎君が図書委員、花子さんが体育委員になった場合と、その逆では
結果が異なります。選挙は、兼任を認めていないので、選挙は同時ではなく、
図書、体育、広報と、順序だてて行われます。太郎君が一番目の選挙で選ばれるのは図書委員、
二番目で選ばれたら体育委員、選ばれる順序によって結果はかわります。
つまり順序が影響するので順列の計算になります。

15人の生徒から学習係を4人選ぶ場合、太郎君が一番目に選ばれ、花子さんが二番目に選ばれるのと
その逆、花子さんが一番目、太郎君が2番目に選ばれるのは、同じ結果になります。
つまり、順序が影響しないので、組み合わせの計算になります。

適切な説明がうまくできなくてすみません。
    • good
    • 0
この回答へのお礼

ものすごくご丁寧に誠に感謝します。
しかも、身近なことを取り上げて下さったので、分かりやすかったです。
ありがとうございました。

お礼日時:2001/12/04 14:19

Pは英語で順列を表す Permutation の頭文字です。


難しくいっても分からないと思いますので。
(1) 5人を「ただ」選ぶ(区別をつけない)のとき、C
  つまり、5人のコンビ(みんな同じ・・優劣がついて  いない)
(2) 5人を選び、順番「いろんな意味での優劣をつける」  のとき、P

質問の例では大丈夫!ということなので
区別が難しい問題の例でもあれば・・・
    • good
    • 0
この回答へのお礼

本日、テストでした。皆さんのアドバイスを参考にさせて頂いたので(もちろん、namimanaさんのアドバイスもです。)いい結果を期待したいと思います。
ありがとうございました。

お礼日時:2001/12/04 14:29

その、15人を、A~Oさんとします。


(ThisIsAPenさんの言葉をお借りします)
異なるn個のものからr個とって1列に並べる→順列nPr
すなわち、Aさん、Cさん、Hさん、が(この順に)もし選ばれたなら、Aを図書委員、Cを体育委員、Hを広報委員になりますよね。
また、もし、Cさん、Aさん、Hさん、がもし選ばれたなら、Cを図書委員、Aを体育委員、Hを広報委員になりますよね。
このように、選ばれた順番によって、誰が何委員になるかが変わってくるんです。だから、選んだものの並び方までかかわってくるんです。よって、nPr。
異なるn個のものからr個とる(1列に並べない)→組み合わせnCr
すなわち、A、B、H、Kさんが(この順に)選ばれたとします。この四人は、みんな学習委員になりますね。
でも、B、H、K、Aさんの順番にえらばれたとしても、みんな学習委員になりますね。だから、選んだものの順番は関係ないんです。
別の見方をすると、ABHK,ABKH,BAHK、BAKH,KHBA,KHAB,HKAB、、、、、、というふうに、(1)の問題では、別と考えられてたものが、(2)の問題では同じ物(1通り)と考えられてしまいます。だから、nPrでは困るんです。
nCr=nPr/r!(自信がありませんが・・・・)ですよね。
だから、nPrから、そのかぶってる物を1とおりと考えるために、多い分を割ってやるんです。
nPrより、nCrの方が、数が小さくなってるはずです。

わかりにくかったかもしれませんが、参考になれば幸いです。
    • good
    • 0
この回答へのお礼

>わかりにくかったかもしれませんが
いや、とんでもないですよ。このように説明をしただけると分かりやすいです。
ありがとうございました。

お礼日時:2001/12/04 14:26

> 区別する方法を教えてください。

お願いします。

「P」はPosition(位置)のP、CはConbination(組み合わせ)のC。

(1)のパターンは「兼任なし」なので「選ばれた人はxx委員」と決まる。
(2)のパターンなら「誰でも良いからとにかく4人」

なのでは?
    • good
    • 0
この回答へのお礼

アドバイス頂きありがとうございました。
問題があった時にすぐ区別できるようにしたいです。

お礼日時:2001/12/04 14:22

簡単に言えば、


(1)のように、それぞれ区別する場合はP、
(2)のように、選ぶときに区別しない場合はCを使います。

もうちょっと詳しく言うと、
異なるn個のものからr個とって1列に並べる→順列nPr
異なるn個のものからr個とる(1列に並べない)→組み合わせnCr

う~ん、実際に具体的な問題が有れば説明できるのですが…
    • good
    • 0
この回答へのお礼

私は基本的なことから分かってませんでした。
皆さんの回答から理解する事ができました。
ありがとうございました。

お礼日時:2001/12/04 14:16

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

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

この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 で その関数を作るのは簡単です。
リカージョンのお手本みたいなアルゴリズムでしょうね。

Aベストアンサー

(*)式が間違っているように見えますが・・・。これではn=3のときにしか成立しません。
n=4のとき
P(C(1)∪C(2)∪C(3)∪C(4))
= P(C(1))+P(C(2))+P(C(3))+P(C(4))
-P(C(1)∩C(2))-P(C(1)∩C(3))-P(C(1)∩C(4))-P(C(2)∩C(3))-P(C(2)∩C(4))-P(C(3)∩C(4))
+P(C(1)∩C(2)∩C(3))+P(C(1)∩C(2)∩C(4))+P(C(1)∩C(3)∩C(4))+P(C(2)∩C(3)∩C(4))
-P(C(1)∩C(2)∩C(3)∩C(4))
というのは理解されていますか?

正しくは、
P(∪[i=1..n]C(i))
= Σ[i=1..n]P(C(i))-Σ[i1,i2=1..n, i1<i2]P(C(i1)∩C(i2))+Σ[i1,i2,i3=1..n, i1<i2<i3]P(C(i1)∩C(i2)∩C(i3))
-Σ[i1,i2,i3,i4=1..n, i1<i2<i3<i4]P(C(i1)∩C(i2)∩C(i3)∩C(i4))+…+(-1)^(n-1)P(∩[i=1..n]C(i))
となり、交互に符号が代わり共通部分を取る集合の数も1つずつ増えます。

証明の方針はあっていますよ。

(*)式が間違っているように見えますが・・・。これではn=3のときにしか成立しません。
n=4のとき
P(C(1)∪C(2)∪C(3)∪C(4))
= P(C(1))+P(C(2))+P(C(3))+P(C(4))
-P(C(1)∩C(2))-P(C(1)∩C(3))-P(C(1)∩C(4))-P(C(2)∩C(3))-P(C(2)∩C(4))-P(C(3)∩C(4))
+P(C(1)∩C(2)∩C(3))+P(C(1)∩C(2)∩C(4))+P(C(1)∩C(3)∩C(4))+P(C(2)∩C(3)∩C(4))
-P(C(1)∩C(2)∩C(3)∩C(4))
というのは理解されていますか?

正しくは、
P(∪[i=1..n]C(i))
= Σ[i=1..n]P(C(i))-Σ[i1,i2=1..n, i1<i2]P(C(i1)∩C(i2))+Σ[i1,i2,i3=1..n, i1<i2<i3]P...続きを読む

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乗程度でしか
ありません。

...続きを読む

QPがAと一致しないとき角BAPはつくれるかPがAと一致しないときのみ角BAPはつくれるかがただしいか。

長さ1の線分ABを直径とする円周上を動点Pが動くではPがAと一致しないとき角BAPはつくれるという文章はあっていますかPがAと一致しないときのみ角BAPはつくれるの方がただしいのでしょうか。PがAと一致しないとき角BAPはつくれるはPがAと一致するときは文章だけでは角BAPがつくれるかつくれないかは分からないのでしょうか。例えば仮に母国にいるときデーブ・スペクターさんが日本語を話すかどうか分からない場合、日本にいるとき日本語を話すか日本にいるときのみ日本語を話すでなければならないのでしょうか。数学の答案にPがAと一致するときのみとメモをかくのはだめでしょうか。

Aベストアンサー

数学の問題の状況がわからないので、
日本語の文章の問題として回答します。

「長さ1の線分ABを直径とする円周上を動点Pが動く」では
「PがAと一致しないとき角BAPはつくれる」という文章はあっていますか
「PがAと一致しないときのみ角BAPはつくれる」の方がただしいのでしょうか。

→両方とも正しいでしょうが、後者の方が厳密です。
(文脈によって使い分けられると思います)

「PがAと一致しないとき角BAPはつくれる」はPがAと一致するときは文章だけでは角BAPがつくれるかつくれないかは分からないのでしょうか。

→分かりません。
(「PがAと一致するとき」については何も言われていないからです)

例えば仮に母国にいるときデーブ・スペクターさんが日本語を話すかどうか分からない場合、
「日本にいるとき日本語を話す」か
「日本にいるときのみ日本語を話す」でなければならないのでしょうか。

→前者が正しくなります。
(母国で日本語を話すかどうか分からない以上、「日本にいるときのみ」と限定はできません)

数学の答案に「PがAと一致するときのみ」とメモをかくのはだめでしょうか。

→補足していただかないとわかりません。

数学の問題の状況がわからないので、
日本語の文章の問題として回答します。

「長さ1の線分ABを直径とする円周上を動点Pが動く」では
「PがAと一致しないとき角BAPはつくれる」という文章はあっていますか
「PがAと一致しないときのみ角BAPはつくれる」の方がただしいのでしょうか。

→両方とも正しいでしょうが、後者の方が厳密です。
(文脈によって使い分けられると思います)

「PがAと一致しないとき角BAPはつくれる」はPがAと一致するときは文章だけでは角BAPがつくれるかつくれないかは分から...続きを読む

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 &...続きを読む

QAAABBCCのカードがある時、4枚選ぶ方法は何通りありますか?

AAABBCCのカードがある時、4枚選ぶ方法は何通りありますか?

Aベストアンサー

同じアルファベットのカードを区別しないとして、
Aが3枚のときは、2通り。
Aが2枚のときは、3通り。
Aが1枚のときは、2通り。
Aが0枚のときは、1通り。

あわせて8通りだけど、、、
式で表すとなると、よくわからない。

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 '←エクセル表へ書き出す際の行番号
...続きを読む

Qxy平面において放物線C1:y=x^2-4x-1を点P(P、2P)に関

xy平面において放物線C1:y=x^2-4x-1を点P(P、2P)に関して点対称移動して得られる放物線をC2とする。

と問題文にあるのですが、点Pの中に文字が含まれていてc2がどのようなグラフになるのか分かりません(>_<)

Pを使ってc2の式や頂点を表すにはどうしたらいいのか教えてください。(高校生です)

Aベストアンサー

C1上の点(x,y)を点P(p,2p)を中心に点対称移動したC2上の点Q(X,Y)とすると

(x+X)/2=p
(y+Y)/2=2p

これから
x=2p-X, y=4p-Y

C1の式に代入して
4p-Y=(2p-X)^2-4(2p-X)-1

Yについて整理
Y=-X^2+4(p-1)X-4p^2+12p+1

一般の流通座標にX,Yを置き換えて
y=-x^2 +4(p-1)x-4p^2+12p+1
=-{x-2(p-1)}^2 +4p+5

これが求める軌跡の放物線の方程式です。
上に凸の対称軸 x=2(p-1)、頂点のy座標 4p+5 の放物線ですね。
グラフはご自分で描けるでしょうね。

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このようにP点が道の真ん中にある時はどうしたらいいんですか? 問題文は P点を通る方法は何通りある

このようにP点が道の真ん中にある時はどうしたらいいんですか?

問題文は
P点を通る方法は何通りあるか。です。

Aベストアンサー

No.5続き
Pの後も入れる訳ね?
Pを通過した後は、後戻りしないでBへ行くには、横線4本を選べば良いから3通り。

P通過が3通りだから、3×4=12通り。


人気Q&Aランキング

おすすめ情報