万年カレンダー:通日の考え方
今回のお話では万年カレンダーという便利なカレンダーを紹介しましょう。万年カレンダーとは次の整数列
\(1, 2, 3, …\)
のことです。読者の皆さんのなかには、拍子抜けした方もいるかもしれません。しかし古代史とか古代の天文学にはとても便利なカレンダーなのです。これはユリウス暦とグレゴリオ暦の両方で用います。ユリウス暦の場合は“1”は「西暦1年1月1日」を、グレゴリオ暦の場合は“1”は「西暦1年1月3日」を意味します。つまり、この万年カレンダーは前回のお話で述べた通日のことなのです。すると、ニュートンは、ユリウス・カレンダーでは 599,734日生まれ、グレゴリオ・カレンダーでは 599,732日生まれとなります。この万年カレンダーを使えば、たとえばイタリアのガリレオと日本の織田信長など、当時採用されていた暦が違っていたとしても、どちらが何日年上かを簡単に計算できます。
グレゴリオ暦の万年カレンダーの“1” は西暦1年1月3日にあたります。偶然にも、この日は月曜日なのです。そこで万年カレンダーを次のように並べてみました。

万年カレンダーには年や月はありませんから、閏年とか小の月、大の月などもありません。曜日もありません。1,2,3,…を7つごとに折り返しただけです。
暦と数学
割り算
ここで数式の復習をしましょう。「数学は式ばかり現れるから嫌いだ」ということをよく聞きます。数学の解説書では、なるべく式を使わずに書かれたものもあります。語学では、「新しい単語を習得するには何十回もその単語に出会う必要がある」といいます。数式も同様で、何度もその数式を使って練習する必要があります。
a と b を正の整数とします。次の2種類の割り算を使い分けします。答えを小数で求める割り算を a/b で、答えを整数と余りで求める割り算を a ÷ b で表します。たとえば「14割る3」は
\(14/3 = 4.333 … ,\)
\(14 ÷ 3 = 4 ・・・ 2\)
となります。一般に
\(a ÷ b = q … r \)(1)
のとき、q を a を b で割った商、r を余りといいます。(1) が成立する必要十分条件は、次の (2) が成立することです。
\(a = qb + r, 0 ≦ r < b \)(2)
剰余計算 — mod
a を b で割った余りを a mod b で表します。mod を剰余計算といいます。
x を正の実数とします。このとき [x] で、x の整数部分を表します。つまり
\([ x ] = x の整数部分\)
です。現在の電卓には剰余計算 mod が計算できる機能を持っているようですがなければ次のように計算します。a/b の整数部分 [a/b] を x、小数部分を y とおくと、
\(a/b = x + y, 0 ≦ y < 1 \)(3)
と表せます。(3) の左の式の両辺を b倍すると
\(a = xb + yb\)
となります。0 ≦ y < 1 より 0 ≦ yb < b となります。この式を (2) と比較すると
\(q = x = [a/b], r = yb\)
が得られます。つまり、剰余 r は a/b の小数部分をb倍して得られます。
たとえば a=14, b=3 の場合、14 ÷ 3 の商 q と剰余 r は、a/b = 4.66… より次のように求めることができます。
\(q = [4.66…] = 4,\)
\(r = 0.66… × 3 = 1.99… = 2\)
この演算を用いれば、ユリウス通日とグレゴリオ通日は次のように表すことができます。
\(ユリウス暦 n + 1年1月0日のユリウス通日\)
\(= n × 365 + [n/4]\)
\(グレゴリオ暦 n + 1年1月0日のグレゴリオ通日\)
\(= n × 365 + [n/4] – [n/100] + [n/400]\)
- 万年カレンダーで曜日を求める
- 曜日のコード
- 2027年10月19日は何曜日か
- 昭和21年6月3日は何曜日か
- 織田信長の誕生日は?– 旧暦の場合を考える
この続きは現在、電子書籍として編集中です
販売中の電子書籍を見る ›

