で求めた z の値が0, 1, 2 ,3, 4, 5, 6 のとき,それぞれ日、月、火、水、木、金、土曜とするというものです。
ただし、[x] ([ ]はガウス記号とよばれる)は x を超えない最大の整数(例えば[3.7]=3, [4]=4)を表し、
1月、2月は前年の13月、14月に直して計算します。
例えば、2015年3月1日は
2015年1月15日は2014年13月15日と考えて、
Zellerの公式において、y+[y/4]-[y/100]+[y/400] は年に影響される曜日の計算の部分で、
平年(365日)で曜日が1進む、うるう年(366日)では曜日が2進むことと、
うるう年のルール
Zellerの公式において、[(13m+8)/5] が月に影響される曜日の計算の部分です。
例えば、3月は31日あるので、4月1日は3月1日より曜日が 3 進むようなことを計算している部分です。
次の表のように、曜日の変動数 s に 2 (この 2 は基準となる日の曜日を合わせるためのもの)を加えたもの (s+2) と、
[(13m+8)/5] とで、7で割った余りが完全に一致しています。
月 m | 日数 | 3月から前月までの間で 29, 30, 31日である日の合計 s =(m月1日の3月1日に 対する曜日の変動数) | (s+2)を7で割った余り | (13m+8)/5 | [(13m+8)/5] を 7で割った余り |
---|---|---|---|---|---|
3 | 31 | 0 | 2 | 9.4 | 2 |
4 | 30 | +3 | 5 | 12.0 | 5 |
5 | 31 | +5 | 0 | 14.6 | 0 |
6 | 30 | +8 | 3 | 17.2 | 3 |
7 | 31 | +10 | 5 | 19.8 | 5 |
8 | 31 | +13 | 1 | 22.4 | 1 |
9 | 30 | +16 | 4 | 25.0 | 4 |
10 | 31 | +18 | 6 | 27.6 | 6 |
11 | 30 | +21 | 2 | 30.2 | 2 |
12 | 31 | +23 | 4 | 32.8 | 4 |
1 → 13 | 31 | +26 | 0 | 35.4 | 0 |
2 → 14 | 28または29 | +29 | 3 | 38.0 | 3 |
なぜ、このようにうまく一致するかを考えます。
横軸を月(簡単のため、m'=m-3とする)、縦軸に曜日の変動数 s をとります。
うるう年かどうかの影響を受ける2月を最後にもってきた結果、
各月の日数がある程度規則正しく並んでいて、
傾きがおよそ 13/5=2.6 ぐらいで増えていることに気づきます。
[(km'+l)/n] (n, k は自然数、l は整数)が曜日の変動数 s に完全に一致するためには、
直線 y=(kx+l)/n が右のグラフの縦幅 1 の赤線(下端を含み、上端を含まない)を12個とも通らないといけません。
n=5, k=13 (傾き 13/5)の場合、l=2 とすれば、(13m'+2)/5 の整数部分 [(13m'+2)/5] が曜日の変動数に完全に一致します。
m'=m-3 におきかえ、基準日の曜日を調整する 2 を加えると {13(m-3)+2}/5+2=(13m-27)/5 となり、
これに 7 を加えた (13m+8)/5 も 7 で割った余りは変わらず、これで月に影響される曜日の計算ができたことになります。
| ![]() |
そこで、もっと小さい n で表される [(km'+l)/n] で曜日の変動数に完全に一致するものがないかを探してみましょう。
傾きが 2.6 に近い傾き 5/2(=2.5。n=2, k=5のとき)や傾き 8/3(≒2.67。n=3, k=8のとき)で計算すると、
惜しいところで曜日の変動数に合わせることができません。
ということで、n が 5 以下では他の表し方はありません。
| ![]() |
| ![]() |
計算は省略しますが、[(km'+l)/n] で曜日の変動数に完全に一致するためには、
傾き k/n は 18/7 < k/n < 21/8 でないといけないことがわかります(高校1年生の知識で示せます)。
18/7≒2.571、21/8=2.625です。
この不等式を満たす既約分数 k/n で、13/5(n=5, k=13)の次に n が小さくとれるものは 34/13≒2.615 (n=13, k=34)です。
このとき、[(34m'+5)/13] は下の表・グラフの通り、曜日の変動数に一致します。
| ![]() |
式 (34m'+5)/13 で、m'=m-3 とおきかえ、基準日の曜日調整の 2 を加え、さらに 7 を足すと (34m+20)/13 になります。
よって,Zellerの公式における [(13m+8)/5] を [(34m+20)/13] におきかえてもよいことがわかります。
さらに、n を大きくすると、[(13m+8)/5] に代わるような他の [(km+l)/n] を見つけることができます。
以上のことをまとめると
プロ野球とJリーグの得点分布は似ているのか? (12. 1.20)
クライマックスシリーズのアドバンテージってどれくらい有利なの? (10. 4.22)
1人を選ぶのに何回じゃんけんしたらよいの? (06. 4.17)
三 角形の固定された内点を通って二等分する直線をひく方法 (03. 5. 2)
選択肢の問題・・・なんで1つも当たらないの? (01. 7.26)