ツェラーの公式について
ツェラーの公式に初めて触れたのは「サマーウォーズ」という映画だった。
数学が得意な主人公が、憧れの先輩と何とか打ち解けようとして持ち出したのがツェラーの公式。
先輩の誕生日を尋ねると、主人公はその日が日曜日だったことを暗算して求めてみせたのだ。(確か大スベリしていた)
このシーンを見た当時高2だった僕は、「よくわからんがキモ!」という、周りを気にして数学オタクを嘲る態度をとりつつ、内心では「僕も好きな女の子の誕生日の曜日を当てたい…」と考えていた。(絶対にやめろ)
そして何を血迷ったか、公式を自分の手で作ることにしたのだ!
調べればすぐなのにねえ。まあウメハラ氏もレジェンド帯になるやつは調べて真似するだけじゃなくて仕組みを知りたがるって言ってたから
1年1月1日から指定した日までの総日数を7で割った0〜6の余りを各曜日に割り振ればいい!という、何ともパワー系な発想から始まった。実際、この方向性がツェラーの公式の作り方と全く同じだったと知りめちゃくちゃニヤけた。足下にすら辿り着けなかったけどね。先人達もパワー系だったんだなと。
指定した日の前年までの日数は
年数をyとして
365(y-1)+[(y-1)/4]
2番目の項は閏年の日数
前年までの日数、ここまではよかった…
躓いたのは、指定した年の1月1日からの日数
例えば、今日2024年5月6日だったら、1月1日からの日数は
31+29+31+30+6=127日
31だの30だの29(または28)だのが混じっているせいで一般化できない。許せない。なんか数字がアラサーなので余計腹立ってきた(関係ない)
まあそんなこんなで公式なのにやたら場合分けがあるのも嫌だなと思い断念した。以下wikipedia先生より表を引用
そもそも1年間を3月から14月で定義しなおすらしい。
特例の2月を最後に持ってくるため?
306や122という数は12ヶ月分帳尻が合うようになんとか調整をした、ということなのでしょう。
うん…うん まあもういいよ…(戦意喪失)
【ここから追記】
戦意喪失とは書いたものの、腑に落ちないまま放置するのも気持ち悪くて公開後しばらく考えていたら何となくわかってきた気がする。
・306=365-(31+28)
年間から3月(最初の月)の31日と14月(最後の月)の28日の合計59日を引いた値(だから平均を取る際に12ではなく10で割っている!!)
・122=30×2+31×2
4月スタートで日数を求めるためにm+1をかけているところから、4ヶ月分の日数122日をずらすために引かなければならない!たまに4ヶ月の日数が123になることもあるけど、そこは愛嬌でカバーしている(適当) 2月(14月)は日数が極端に少ないけど、最後に配置してあるので無視できる!
<<さらなる追記>>
122=[306×4/10]、こっちが正しい。ちゃんと平均とって同じ数ずつ加算してガウスしてんだから!30とか31とか足してるわけじゃないから!愛嬌でカバーできるわけないから!
<<さらなる追記終わり>>
どちらにせよ自分で考え付く領域ではない
【追記終わり】
こうして出来上がった、1年1月1日から指定した日までの総日数を求める公式は「フェアフィールドの公式」というらしい。
そしてこいつを代入しやすくして(1984年を19と84の2数に分けるなど)
モジュラ演算ぶちかましたヤツがツェラーの公式だ!!
なぜ勢いが強まったかというと長風呂でのぼせてしまいそろそろ上がりたいから。
1965年8月14日(岡村靖幸の誕生日)は…
C=19、Y=65、m=8、d=14
あとは代入して………h=1
つまり日曜日だ!!!!!(おお〜)
すごい…なんでこんな公式があるんだ…
誰が何のために使うんですか…
でも、こういう意味のないところに面白みがあるのだろう!!!!!!(完)
サマーウォーズは公開15周年だそうです。
良い映画、思い出の映画なのでみなさんもぜひ!RSA暗号の公開鍵の桁数につっこんではいけないよ!
この記事が気に入ったらサポートをしてみませんか?