28年周期の法則と曜日の計算

「和人! 成宮君! 私すごい発見した!」


 数学研究部の部室で、愛華が興奮しながら俺と成宮を呼んだ。愛華が興奮するのは珍しいが、その前に。


「声のボリュームを落とせ。ここ防音対策してないから結構響くんだよ」

「いやー、ごめん。ついつい」

「で、どういう発見なんだい?」


 成宮が訊くと、愛華は一枚のルーズリーフを見せた。


 1978年6月28日 水曜日

 

 2006年6月28日 水曜日

 

 2034年6月28日 水曜日

 

 2062年6月28日 水曜日

 

 2090年6月28日 水曜日


 1978+28=2006、2006+28=2034、…、2062+28=2090。


「へぇ。これは面白いね。28年周期で曜日が同じになるのか」

「ほかの日でも同じだったよ。でも2118年の6月28日は火曜日だった。必ず成立するわけじゃないみたい」

「2118年と曜日が一致しなかったのは、2100年が閏年じゃないからだ。『28年周期の法則』が成立するのは年の下2桁が01から99のとき。ただし、2000年は閏年だから例外」

「え、これ名前あるの? っていうか和人知ってたの?」

「Wikipediaに載ってるからな。『28年周期の法則』は俺が勝手に名付けた」


 この法則が成り立つ理由はいたってシンプル。閏年は4年に1回だから、28年間に閏年は7回ある。

 1年は閏年を除いて365日。1年後の曜日は365を7で割ると余りは1、つまり1日後の曜日と同じ。前述したように28年間に閏年は7回。よって、28年後は1・28+7=35より、7の倍数だから28年周期の法則が成り立つ。

 

 ここで注意しなければならないのは、下2桁が4の倍数(00は100と考える)の年。例えば2000年から2028年の28年間には閏年が8回ある。

 それでは法則が成り立たないじゃないか、と思う人もいるかもしれないがそんなことはない。2000年2月29日を例にして考えると、この日は火曜日。2028年は2000年から数えて8回目の閏年だが、それまでに2月29日は2000年を除いて2004、2008、2012、2016、2020、2024の6回。つまり、2028年は2月29日が7回目だから法則が適用される。よって火曜日となる。

 

「ねぇ。この法則使ったら曜日の計算とか楽になるんじゃない?」

「そうだね。今年28歳になる人が自分の生まれた曜日知りたいとき、今年のカレンダー見ればいいわけだし」

「確かに。そうじゃない場合は計算するしかないけど」

「よくよく考えたら、友村さんはどうやって計算したんだい?」

「え? 計算できるサイト使った。詳しいやり方はわかんない」


 愛華がそう言うと、俺に視線を向けた。成宮もつられて俺を見る。


「……曜日の計算はツェラーの公式ってのがある。ただ、計算は少し面倒だ」

「公式使わずに求めることはできないの?」

「改良された式はいくつかある。俺は求めたい曜日が2001年1月1日から何日経過したかを計算する方法をとってる」


 愛華も成宮も「なんのこっちゃ」と言わんばかりの表情をしている。


「百聞は一見に如かずだ。今から具体的な方法を教える。まずはそうだな……2025年3月14日の曜日にしよう」


 月の右横にある数字は、各月の日数をもとに算出した値。求め方は割愛する。


 1月 0 

 2月 3

 3月 3 

 4月 6

 5月 1

 6月 4

 7月 6

 8月 2

 9月 5

 10月 0

 11月 3

 12月 5

 

「そして法を7として計算した値を各曜日に対応させる」


 日曜日 0

 月曜日 1

 火曜日 2

 水曜日 3

 木曜日 4

 金曜日 5

 土曜日 6


「まず求めたいの曜日の年、2025から2001を引く」


 2025-2001=24


「次に閏年の回数だが、単純に24を4で割るのは間違いだ。閏年の回数は西暦の下2桁を4で割ってカウントする」


 閏年の回数は、[25/4]=6 []はガウス記号


 和は24+6=30


「3月に対応する数字は3で、日は14だから30に3と14を加えて47」


 30+3+14=47


「あとは7で割った余りを求める。合同式で書くと」

 

 47≡5(mod7)


「5に対応するのは金曜日。結構簡単だろ」

「ホントだ。でも閏年の計算はややこしそう」

「確かにややこしいところはあるが基本は同じだ。2028年でやってみよう」


 2028年1月20日の曜日

 

「さっきと同様に、求めたい年から2001を引く」


 2028-2001=27


「次に閏年の回数だが、2028年は閏年だから、1月1日から2月29日の曜日を求める場合は6、3月1日から大晦日の曜日を求める場合は7を加えることに注意だ。この場合は6を加える」


 28/4=7


 求めたいのは3月1日より前の曜日なので6を加える。


 27+6=33


「あとは月に対応する数字と日を加えて7で割って余りを求めればいい」


 33+0+20=53


 53≡4(mod7)


 4に対応するのは木曜日。


「閏年は気を付けないといけない部分は多いが、要領を掴めば難しくない」 

「ふぅん。……これ過去の曜日というか、2001年より前はどうするの? マイナスで計算するの?」

「過去の曜日は28年周期の法則を使えばマイナスの計算を回避できる。例えば1973年10月3日の曜日を求めたいとする。1973年の28年後は2001年だから、2001年10月3日の曜日を計算すればいい」


 1973(2001)年10月3日の曜日


 求めたい曜日の年が2001年なので、差と閏年は考えない。


 10月に対応するのは0、日は3より、0+3≡3(mod7)


 3に対応するのは水曜日。


 28年周期の法則より、1973年10月3日は水曜日。

 

「そういうやり方もあるんだ。未来の曜日を計算して過去の曜日を求める……なんか面白いね」


 愛華の言葉に成宮が何度か頷く。難しい知識は必要ないから、ちょっとした数字遊びには最適かもな。


 

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る