新しく質問する

1年の全ての日が天皇誕生日で埋まるのは何年後?

役に立った:2件
  • 質問者:noname#5113
  • 投稿日時:2002/03/20 11:49
  • 困り度:暇なときに回答をください

天皇陛下のご在籍の年数が一定(たとえば30年)と仮定した場合1年の全ての日が天皇誕生日で埋まる期待値は何年後になりますでしょうか?ただし、天皇誕生日が重なったら振替はないものとします(たとえば未来の天皇陛下のご誕生日が12/23であっても平成天皇のご誕生日とかさなっているからといって12/24に振り返ることはしない)また、現在の他の祝日についても振替は無視します。学生時代計算した覚えがあるのですが、そのやりかたをすっかり忘れてしまいました。

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:2件)
  • 参考になった:0件

No.4ベストアンサー20pt

  • 回答者:motsuan
  • 回答日時:2002/03/20 17:40

この数は ... が乱れてしまいました。

ΣN/(N-n)+1=N∫(y=0~1)Σy^(N-n-1) dy + 1
=N∫(y=0~1)(y^(N-1)-1)/(y-1) dy + 1
とかやれば計算できるとおもいます。

です。∫(y=0~1)dy は0から1で積分するという意味です。
失礼しました。

なんかもっと簡単な考え方があるような気がしますが
私の考えたところは以上のようなものです。

通報する

この回答へのお礼

すみません。わかりました。かんたんでした。
1年のうちN日が天皇誕生日で埋められていると、N日目を決められた
天皇陛下のあと(365/(365-N))代目の天皇陛下が次(N+1日目)の天皇
誕生日が確定するようです。エクセルを使って統計的に計算したら
そうなりました。(すみません証明はできません。どなたか証明してください)
よって、
365/(365-0)+365/(365-1)+…365/(365-364)≒2364.64602344
代目に365日埋まります。motsuanさんの回答と一致しましたね!
これに在籍年数30年を掛け、約70939年後になりますね。
ありがとうございました。

  • 参考になった:0件
  • 回答者:motsuan
  • 回答日時:2002/03/20 17:28

365日のうちn日誕生日で埋まっていて次の1日を埋めるために必要な人数の期待値<x_n>は
x-1代だめでx代目で初めて違う1日なったとすると、
p_n=(365-n)/365として
<x_n> = Σ x (1-p_n)^(x-1) p_n (x=1~∞についての和) = 1/p_n.
よって、
Σ<x_n> (n=1~365-1についての和)+1=Σ365/(365-n)+1
となるのではないでしょうか?(+1は最初の一人ぶんです)

この数は
ΣN/(N-n)+1=N∫(y=0~1)Σy^(N-n-1) dy (y=0~1) + 1
=N∫(y=0~1)(y^(N-1)-1)/(y-1) dy -
とかやれば計算できるとおもいます。
Mathematicaで計算すると
N*(EulerGamma + PolyGamma[0, N]) + 1
とかゆう関数になるようで、下のアルゴリズムで実験したところ
N=10までは一致するようです。
N=365すなわち問題の場合は
2364.65(単位:代)
です。

以上は微分方程式
dn/dx= (N-n)/N
(Nが365日、nが埋まった日にち、xがx代目)
から逆に考えたものです(連続なので永遠にNに到達しないのですが
離散的に考えれば上のようになるかと思います)。
--------------計算につかったアルゴリズム(Mathematica)-------------------
(*
maxnumber:サイコロの目の最大数, trialnumber:試行回数
を与えて全部の目が出るまでにかかる回数の平均を求めます。
*)
Monte[maxnumber_, trialnumber_] := Module[
(*局所変数の宣言*)
{countcount , count, lis},
(*サイコロの定義:1~maxnumberの目がランダムにでます*)
Dice[] := Ceiling[maxnumber*Random[]];
(*何回で全部の目が出たかを数えたcountを毎回足し合わせて最後に試行回数で割る*)
countcount = 0;
(*trialnumberだけ繰り返す*)
For[i = 0, i < trialnumber, i++,
(*出てきた目のリスト*)
lis = {};
(*何回サイコロをふったか*)
count = 0;
(*出てきた目のリストの長さがmaxnumber以上になるまで続ける=全部の目がそろうまで*)
While[ Length[lis] < maxnumber,
(*サイコロを振ったので1つ加える*)
count++;
(*重複を許さず出てきた目をリストに保存*)
lis = Union[ lis, {Dice[]}];
];
(*全部の目がそろうまで掛かった回数を足し合わせる*)
countcount +=count;
];
(*最後に試行回数で割って平均をとる*)
countcount/trialnumber
];

通報する

  • 参考になった:0件
  • 回答者:ranx
  • 回答日時:2002/03/20 13:51

訂正です。在籍年数30年を忘れていました。
10389人目で、311670年後です。

通報する

  • 参考になった:0件
  • 回答者:ranx
  • 回答日時:2002/03/20 12:30

うるう年は考えず、1年を365日とします。
任意の1日を考えて、それがn人の天皇の誕生日と重ならない確率は
(364/365)のn乗ですよね。
これを365倍しても1日に満たなくなる場合を求めればよいわけですから、
n*log(364/365)<log(361/365)
となるnではどうでしょうか。
私の計算では10389年後となりましたが。

通報する

この回答へのお礼

ありがとうございました。

  
このQ&Aは役に立ちましたか?(役に立った:2件)

このページのトップへ