
映画館で洋画6作品を上映中で、これら6作品の前売り券を、A君は無作為に2作品を選び1枚ずつ購入、B君は無作為に3作品を選び1枚ずつ購入、C君は無作為に5作品を選び1枚ずつ購入、病気がちなD君は無作為に3作品を選び1枚ずつ購入するのですが、映画鑑賞予定日直前にD君が危篤に陥り、D君が購入した前売り券をA君、B君、C君に1枚ずつ譲り渡すことになる場合、A君、B君、C君がみなうまいこと自分が選ばなかった作品の前売り券を譲ってもらえる確率ってどうなりますか?
No.10ベストアンサー
- 回答日時:
#6です。
>A君はB君の被った1作品が譲り渡される必要があるので、残る5作日から1作品を選ぶ組み合わせの₅C₁通り。
確かにそうですね。
₆C₅・₅C₂・(₄C₃・(₆C₂ - 1) + 2・₄C₂・₅C₂)
= 6・10・(4・(15 - 1) + 2・6・10)
= 10560
だから、10560/36000 = 22/75 ≒ 0.2933 か。
#9さんのシミュレーション結果とも合いますね。
No.19
- 回答日時:
#18様
目からウロコです。私は重複カウントにばかり目が奪われていて、そこを見直しすることが出来ていませんでした。
素晴らしい!
スッキリしました。ありがとうございました。
No.18
- 回答日時:
#12さんの計算は、最初のケースの計算が間違っています。
> ●●●●〇〇
> 〇〇〇●●●
> このケースは全部で、6C1 * 6C0(重複×空白)
このケースは、A君のユニーク部分3枚、B君のユニーク部分2枚、A君とB君の重複部分1枚を選ぶので、
6!/(3!・1!・2!)
となります。
他も同様で、それぞれ次のようになります。
> ●●●●〇〇
> 〇〇●●●〇
> このケースは全部で、6C2 * 6C1
6!/(2!・2!・1!・1!)
> ●●●●〇〇
> 〇●●●〇〇
> このケースは全部で、6C3 * 6C2
6!/(1!・3!・2!)
そこを修正すれば、正しく10560通りと計算されます。
No.16
- 回答日時:
#14です。
私も独自の方法で数え上げたら、10560でした。
私の図式解が間違っていました。
やっぱり妙な気がしていた重複(どれかのパターンにハマれば良いのをダブルカウントしている)だと思いますが、直すことができていないので長考中です。
なお、数え上げに用いたRスクリプトは次のとおりです。
私は2進法を使って、全パターンを列挙してふるい落としました。
~~~~~~~~~~~~~~~~~~~~~~~~
# 総ヒット件数の数え上げ(愚直に)
dec2bin <- function(num, digit = 0){
if(num <= 0 && digit <= 0){
return(NULL)
}else{
return(append(Recall(num %/% 2,digit-1), num %% 2))
}}
# A,B,Cの購入パターンを全て列挙する
x <- NULL
for(i in 1:63){
for(j in 1:63){
for(k in 1:63){
A <- dec2bin(i, 6)
B <- dec2bin(j, 6)
C <- dec2bin(k, 6)
if(sum(A) == 4 & sum(B) == 3 & sum(C) == 1){
x <- rbind(x, c(A, B, C))
}
}}}
head(x)
(n <- nrow(x)) # 1800とおり
# Dの購入パターンを全て列挙する
y <- NULL
for(h in 1:63){
D <- dec2bin(h, 6)
if(sum(D) == 3){
y <- rbind(y, c(D))
}
}
y
(m <- nrow(y)) # 20とおり
# チェックパターンを準備する(このどれかにヒットすれば良い)
check <- matrix(c(
1, 2, 3,
1, 3, 2,
2, 1, 3,
2, 3, 1,
3, 1, 2,
3, 2, 1),
ncol = 3, byrow = T)
# 各xに関してマッチするyを数え上げる
count <- 0
for(k in 1:n){
result <- 0
for(l in 1:m){
index <- which(y[l, ] == 1)
temp <- NULL
for(g in 1:6){
y1 <- y2 <- y3 <- matrix(c(0, 0, 0, 0, 0, 0), ncol = 6)
y1[index[check[g, 1]]] <- 1
y2[index[check[g, 2]]] <- 1
y3[index[check[g, 3]]] <- 1
temp <- append(temp, x[k, 1:6] %*% t(y1) * x[k, 7:12] %*% t(y2) * x[k, 13:18] %*% t(y3))
}
result <- result + ifelse(sum(temp) > 0, 1, 0)
}
count <- count + result
}
count
No.14
- 回答日時:
気になったので、Rで全部の組み合わせを確認しましたが、やはり10560通りでした。
用いたコードは次のとおり。
A <- combn(6, 4) # A君が購入しなかった前売り券の組み合わせ
B <- combn(6, 3) # B君が購入しなかった前売り券の組み合わせ
C <- combn(6, 1) # C君が購入しなかった前売り券の組み合わせ
D <- combn(6, 3) # D君が購入した前売り券の組み合わせ
i <- 0
cnt <- 0 # 該当ケースカウント用
# D君の前売り券のA君、B君、C君への配布パターン全て
x <- matrix(c(
T, F, F, F, T, F, F, F, T,
T, F, F, F, F, T, F, T, F,
F, T, F, T, F, F, F, F, T,
F, T, F, F, F, T, T, F, F,
F, F, T, T, F, F, F, T, F,
F, F, T, F, T, F, T, F, F), ncol = 9, byrow = T)
# 全部の組み合わせを確認する
for(nA in 1:ncol(A)) {
for(nB in 1:ncol(B)) {
for(nC in 1:ncol(C)) {
for(nD in 1:ncol(D)) {
# D君の前売り券を各自購入していないかチェック
y <- c(
D[, nD] %in% A[, nA],
D[, nD] %in% B[, nB],
D[, nD] %in% C[, nC]
)
# 配布パターンのどれかがに合えば cnt を+1
cnt <- cnt + any(apply(x, 1, function(z) all(y[z])))
i <- i + 1
# チェック用
if(i %% 1000 == 0) {
cat("i = ", i, "\n")
cat("A = ", A[, nA], "\n")
cat("B = ", B[, nB], "\n")
cat("C = ", C[, nC], "\n")
cat("D = ", D[, nD], "\n")
cat("y = ", y, "\n")
print(any(apply(x, 1, function(z) all(y[z]))))
cat("\n")
}
}
}
}
}
cnt
No.13
- 回答日時:
#12です。
追加情報です。シミュレーションの回数を増やしたら、
0.2969
という数値が出てきました。0.297くらいの数値になると思われます。
私の解いた理論値に、少し自信が出てきました。
No.12
- 回答日時:
#9です。
理論値を計算しました。
生起しうる場合の数は、10704とおり、
全ての場合の数が36000だから、率としては、0.2973333 となりました。(#10さんとやや違いますね。私が間違っているような気がします。)
気になるのは、x41、x61、x71は重複してるかなあ、という点です。
しかし、これを区別しないなら、x81とx91の区別が必要なくなる訳で、やっぱり場合ごとに足していくべきかと思いました。場合分けして全部で6とおり(◎〇の横に書いてある数字を足すと6)にしているのですから・・・。
~~理論値~~
A君の買い漏らし4枚●、B君の買い漏らし3枚●、C君の買い漏らし1枚◎の重複のパターンを考える。
C君が得たチケット◎の残りからA君B君が選ぶとき、重複したところから選ぶときは、残りはどれでも良く、重複したところから選ばない場合は、A君B君のユニークな部分からそれぞれ1枚ずつ選ぶ。
●●●●〇〇
〇〇〇●●●
このケースは全部で、6C1 * 6C0(重複×空白)
ただし、C君の出現パターンを考慮すると
●●●●〇〇
〇〇〇●●●
◎〇〇〇〇〇 3とおり(以下略)
〇〇〇◎〇〇 1
〇〇〇〇◎〇 2
_______重複部分から___ユニーク部分から
x11 <- choose(1, 1) * choose(4, 1)
x12 <- choose(2, 1) * choose(2, 1)
x21 <- choose(3, 1) * choose(2, 1)
x31 <- choose(1, 1) * choose(4, 1)
x32 <- choose(3, 1) * choose(1, 1)
x1 <- (3 * (x11 + x12) + x21 + 2 * (x31 + x32)) * choose(6, 1)
●●●●〇〇
〇〇●●●〇
このケースは全部で、6C2 * 6C1
ただし、C君の出現パターンを考慮すると
●●●●〇〇
〇〇●●●〇
◎〇〇〇〇〇 2
〇〇◎〇〇〇 2
〇〇〇〇◎〇 1
〇〇〇〇〇◎ 1
_______重複部分から___ユニーク部分から
x41 <- choose(2, 2)
x42 <- choose(2, 1) * choose(2, 1)
x43 <- choose(1, 1) * choose(1, 1)
x51 <- choose(1, 1) * choose(3, 1)
x52 <- choose(2, 1) * choose(1, 1)
x61 <- choose(2, 2)
x62 <- choose(2, 1) * choose(2, 1)
x71 <- choose(2, 2)
x72 <- choose(2, 1) * choose(3, 1)
x73 <- choose(2, 1) * choose(1, 1)
x2 <- (2 * (x41 + x42 + x43) + 2 * (x51 + x52) + x61 + x62 + x71 + x72 + x73) * choose(6, 2) * choose(6, 1)
●●●●〇〇
〇●●●〇〇
このケースは全部で、6C3 * 6C2
ただし、C君の出現パターンを考慮すると
●●●●〇〇
〇●●●〇〇
◎〇〇〇〇〇 1
〇◎〇〇〇〇 3
〇〇〇〇◎〇 2
_______重複部分から___ユニーク部分から
x81 <- choose(3, 2)
x91 <- choose(2, 2)
x92 <- choose(2, 1) * choose(1, 1)
x101<- choose(3, 2)
x102<- choose(3, 1) * choose(1, 1)
x3 <- (x81 + 3 * (x91 + x92) + 2 * (x101 + x102)) * choose(6, 3) * choose(6, 2)
(x1 + x2 + x3)
No.11
- 回答日時:
#10一部修正
>>A君はB君の被った1作品が譲り渡される必要があるので、残る5作日から1作品を選ぶ組み合わせの₅C₁通り。
> これがおかしい気がします。
確かにそうですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ネタバレ】着信アリのラスト...
-
女性器が見えている映画
-
火垂るの墓で、7千円もあって...
-
花火大会2人で行って告白なかっ...
-
「全作品観た」ことを一言でい...
-
「」と『』の使い分け
-
映画の上映時間について 久々に...
-
映画館の中で写真撮ってる人が...
-
ドリカムのSAYONARAの歌詞の意味
-
「ダビンチ・コード」を見てき...
-
「ダ・ヴィンチ・コード」のラ...
-
たまにAVとか見ていて、男優が...
-
専門学生でも学生証があれば大...
-
50MB=何KB?なのでしょうか。
-
一日に映画2本みるのってかな...
-
付き合っていない男の子と2人で...
-
気になる人におすすめされた映...
-
「アメリカ映画は嫌い、観ない...
-
X-MEN 3の最後に出てくる「モ...
-
オールナイトとレイトショーの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
個人的に信じていない事はなん...
-
なぜ日本映画は、男児差別のテ...
-
どんな地球規模のディザスター...
-
スターウォーズ好きですか?
-
私生活の動画を提供することで...
-
映画の上映時間について 久々に...
-
「」と『』の使い分け
-
女性器が見えている映画
-
火垂るの墓で、7千円もあって...
-
たまにAVとか見ていて、男優が...
-
最後の瞬間の救出(ラスト・ミ...
-
50MB=何KB?なのでしょうか。
-
付き合っていない男の子と2人で...
-
デジタルサイネージに映像を流...
-
映画のタイトルは『』か「」か
-
「全作品観た」ことを一言でい...
-
映画「北北西に進路を取れ」の...
-
異性に誘われたときの断り方
-
一日に映画2本みるのってかな...
-
ハリウット映画 <将軍>
おすすめ情報