• 締切済み

確率の問題で

「今、無造作に人を集めたとします。このとき、何人以上集まっていれば、月曜日生まれ・火曜日生まれ・水曜日生まれ・木曜日生まれ・金曜日生まれ・土曜日生まれ・日曜日生まれが出揃う確率が80%以上になるでしょうか」という問題があったとします。 このとき、この問題を一番効率よく解くには、そのような方法で解くのがいいのでしょうか?

みんなの回答

  • moritan2
  • ベストアンサー率25% (168/670)
回答No.4

> 表を見ればm=23で条件を満たすようですが、結構地道に計算していますね… コンピュータで計算するプログラムを作ったから、別に地道じゃなかったです。 一つ問題がありまして、人数が大きくなってきたら、aとbの値が long long(64ビットint)でも間に合わなくなって、めんどうなので double にしてしまったからです。そのため10人台の終わりから、やや不正確です。でも80%になるのは何人からか、という答えが1も違うほどには誤差は大きくないと思います。

  • moritan2
  • ベストアンサー率25% (168/670)
回答No.3

↓のANo2さんの答えは明らかにおかしいですね。 > m 人集まっているときに揃っている確率は、 > 1-(6/7)^m とおっしゃいますが、m=6の時絶対に全ての曜日がそろうはずはないから 0% なのに、この式ではそうなりません。 私の解は次のとおりです。 m人がいるときの曜日の組み合わせは a = 7^m とあることはわかると思います。 m人が全ての曜日に分離する組み合わせは証明は省略しますが、 b = 7^m - 6^m * 7 + 5^m * 21 - 4^m * 35 + 3^m * 35 - 2^m * 21 + 7 となります。 これを手元のパソコンで計算して見ました m=1 a=7.000000 b=0.000000 b/a=0.00000000 m=2 a=49.000000 b=0.000000 b/a=0.00000000 m=3 a=343.000000 b=0.000000 b/a=0.00000000 m=4 a=2401.000000 b=0.000000 b/a=0.00000000 m=5 a=16807.000000 b=0.000000 b/a=0.00000000 m=6 a=117649.000000 b=0.000000 b/a=0.00000000 m=7 a=823543.000000 b=5040.000000 b/a=0.00611990 m=8 a=5764801.000000 b=141120.000000 b/a=0.02447960 m=9 a=40353607.000000 b=2328480.000000 b/a=0.05770191 m=10 a=282475249.000000 b=29635200.000000 b/a=0.10491255 m=11 a=1977326743.000000 b=322494480.000000 b/a=0.16309620 m=12 a=13841287201.000000 b=3162075840.000000 b/a=0.22845244 m=13 a=96889010407.000000 b=28805736960.000000 b/a=0.29730655 m=14 a=678223072849.000000 b=248619571200.000000 b/a=0.36657492 m=15 a=4747561509943.000000 b=2060056318320.000000 b/a=0.43391883 m=16 a=33232930569601.000000 b=16540688324160.000000 b/a=0.49771982 m=17 a=232630513987207.000000 b=129568848121440.000000 b/a=0.55697271 m=18 a=1628413597910449.000000 b=995210916336000.000000 b/a=0.61115365 m=19 a=11398895185373144.000000 b=7524340159588561.000000 b/a=0.66009381 m=20 a=79792266297612000.000000 b=56163512390086080.000000 b/a=0.70387163 m=21 a=558545864083283968.000000 b=414847224363337856.000000 b/a=0.74272723 m=22 a=3909821048582987776.000000 b=3037922395035897344.000000 b/a=0.77699781 m=23 a=27368747340080914432.000000 b=22088515675551215616.000000 b/a=0.80707076 m=24 a=191581231380566409216.000000 b=159654417813094891520.000000 b/a=0.83335104 うーむ、この掲示板は空白が詰められるので、うまく表がでませんね。

noname#110252
質問者

お礼

ありがとうございました。 表を見ればm=23で条件を満たすようですが、結構地道に計算していますね…

  • at9_am
  • ベストアンサー率40% (1540/3760)
回答No.2

一番オーソドックスなのが一番効率が良いような気がします。 m 人集まっているときに揃っている確率は、 1-(6/7)^m と書けます。したがって 1-(6/7)^m >= 0.8 となる最小の m を考えればよいです。 これを解けば (6/7)^m >= 0.2 m log(6/7) >= log(0.2) m >= 10.44 となります。

回答No.1

そのような方法 って何?

noname#110252
質問者

補足

すみません。 「どのような方法」の間違いでした。

関連するQ&A