見出し画像

曜日計算を暗算で行う現実的な方法を考えてみる

 ここで言う曜日計算は「月曜日の10日後は何曜日?」といった簡単なものではなく、「西暦○○○○年〇月〇日は何曜日?」といったやや高難度な技です。
 僕は視聴したことがないのですが、映画サマーウォーズの主人公、小磯健二が曜日を暗算で求めるシーンがあるそうです。
 
 曜日の計算にはツェラーの公式というものがあるのですが、今回は使いません。今回使うのは2001年のカレンダーです。

ChatGPT作成

 なぜ2001年なのかと言うと、21世紀最初の年でかつ、1月1日が月曜日なので計算するうえで都合がいいのです。皆さんは曜日を数えるとき普通は月曜日から数えますよね? 日曜日から数える人ももしかしたらいる?
 とにかく、まず冒頭で紹介した映画サマーウォーズの公開日である2009年8月1日の曜日を求めてみましょう。

 2001年8月1日は水曜日。1年後の曜日は365を7で割って余り1です。そして、2004年と2008年がうるう年なので、8年後は1×8+2=10
 つまり、2009年8月1日の曜日は、2001年8月1日の10日後(3日後)の曜日と同じだということ。よって答えは土曜日です。
 
 1年分のカレンダーを丸々記憶してしまえば、今やったような方法で計算することは可能ですが、言うは易く行うは難しです。
 ただ、月の始めの曜日だけ記憶しておくなら、ワンチャン可能だと思います。

  • 月曜日: 1月、10月

  • 火曜日: 5月

  • 水曜日: 8月

  • 木曜日: 11月

  • 金曜日: 6月

  • 土曜日: 9月、12月

  • 日曜日: 4月、7月

それでは、今度は上記の情報だけで曜日を求めてみます。ChatGPTにランダムに問題を作ってもらいました。

以下にいくつかの年月日の曜日を計算する問題を出します。

1. 2010年5月21日は何曜日でしょうか?
2. 1995年12月25日は何曜日でしょうか?
3. 2022年3月15日は何曜日でしょうか?
4. 1980年7月4日は何曜日でしょうか?
5. 2005年10月31日は何曜日でしょうか?

これらの問題を解いてみてください。解答が必要な場合はお知らせください。

 まず1です。2001年5月1日は火曜日ですから、2010から2001を引いて9です。
 9年間の間にうるう年は2回(2004、2008)あります。
 21日なので21から1を引いて20です。
 これらの合計は9+2+20=31で、これを7で割ると3余ります。
 よって、答えは火曜日の3日後で金曜日となります。

 2は2001年以前なので少し厄介ですが、面倒な計算を上手く回避する方法があります。僕は「28年周期の法則」と呼んでいるのですが、今年(2024年)と28年前の1996年。そして28年後の2052年のカレンダーを検索して確認してみてください。まったく同じになっているはずです。

 詳細は省きますが、この法則は1901年から2099年まで適用されます。正確には1900年3月1日から2100年2月28日です。
 現在使われているグレゴリオ暦では、「100で割り切れるが400で割り切れない年は平年」と決まっています。だから2000年はうるう年になり計算に影響はしません。

 閑話休題、前述した28年周期の法則を使って1995年12月25日の曜日を求めてみましょう。
 1995年の28年後は2023年ですから、2023から2001を引いて22です。
 この間にうるう年は5回(2004、2008、2012、2016、2020)あります。
 日付が25日なので25から1を引いて24です。
 これらの合計は22+5+24=51で7で割ると余り2です。
 
 忘れてしまった方のために、2001年の各月の始めの曜日を再掲します。

  • 月曜日: 1月、10月

  • 火曜日: 5月

  • 水曜日: 8月

  • 木曜日: 11月

  • 金曜日: 6月

  • 土曜日: 9月、12月

  • 日曜日: 4月、7月

2001年12月1日は土曜日なので、求めたい曜日(1995年12月25日)は土曜日の2日後から月曜日となります。

 残りの3つも同じ要領で行きたいところですが、これらは夏休みの宿題ということで……。


 


 

 
 


 

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?