【後半】
1901 〜 2100 年 で通用するやり方です。
(実は、400年周期で同じになるので、下の<やること>のBを多少いじることで
任意の年に対応できます。ただ、まぁ必要ないですよね
)
<覚えて練習すること>
その1.
まず、【左手の指】に、次のように1月〜12月の初期位置を割り当てます。
この位置は、体で覚えます。上段が1月〜6月、下段が7月〜12月です。
月木日
火金
水土<初期位置>
<tt>□□□ □□□ □□□ □□□ □□■ □□□
□□ ■□ ■□ □■ □□ □□
□■ □□ □□ □□ □□ ■□
□□□ ■□□ □■□ □□□ □□□ □■□
□■ □□ □□ □□ ■□ □□
□□ □□ □□ □■ □□ □□ </tt>
その2.
指カレンダーで、任意の位置から、+1,+2,+3,+4,+5,+6 した時に
移る位置を、体で覚えます。7*6=42パターン覚えなければなりませんが、
規則性があるので、そこまで苦労せずとも覚えられます。
(+2,+5は慣れるのに時間がかかりますが・・・)
これによって、プログラムで言う x = (x+y) % 7 が一瞬で出来るようになります。
これが計算速度の決め手になりますので、練習を積む必要があります。
その3.
次の操作を体で覚えます。
40の時、+1
20の時、+4
8の時、+3
4の時、+5
(*ちなみに、これらの数字は、(400/8)%7,(200/8)%7,(80/8)%7,(40/8)%7 です。)
その4.
↓のフローチャートを体で覚えます。
<やること>
ccyy年m月d日とする。
@mによって、初期位置 x に移動します。
Ad%7を暗算し、それを x に足します。
Bcc=19なら、1 を x に足します。
Cyy を、40未満になるまで40で引きながら、その都度 1 を x に足します。
Dyy を、20未満になるまで20で引きながら、その都度 4 を x に足します。
Eyy を、8未満になるまで8で引きながら、その都度 3 を x に足します。
Fyy を、4未満になるまで4で引きながら、その都度 5 を x に足します。
Gyy を x に足します。
HGの時点でyy=0 で、更にm=1or2なら 6 を x に足します。
ゲーデル 2010/03/09 10:28
1901 〜 2100 年 で通用するやり方です。
(実は、400年周期で同じになるので、下の<やること>のBを多少いじることで
任意の年に対応できます。ただ、まぁ必要ないですよね )
<覚えて練習すること>
その1.
まず、【左手の指】に、次のように1月〜12月の初期位置を割り当てます。
この位置は、体で覚えます。上段が1月〜6月、下段が7月〜12月です。
月木日
火金
水土
<初期位置>
<tt>□□□ □□□ □□□ □□□ □□■ □□□
□□ ■□ ■□ □■ □□ □□
□■ □□ □□ □□ □□ ■□
□□□ ■□□ □■□ □□□ □□□ □■□
□■ □□ □□ □□ ■□ □□
□□ □□ □□ □■ □□ □□ </tt>
その2.
指カレンダーで、任意の位置から、+1,+2,+3,+4,+5,+6 した時に
移る位置を、体で覚えます。7*6=42パターン覚えなければなりませんが、
規則性があるので、そこまで苦労せずとも覚えられます。
(+2,+5は慣れるのに時間がかかりますが・・・)
これによって、プログラムで言う x = (x+y) % 7 が一瞬で出来るようになります。
これが計算速度の決め手になりますので、練習を積む必要があります。
その3.
次の操作を体で覚えます。
40の時、+1
20の時、+4
8の時、+3
4の時、+5
(*ちなみに、これらの数字は、(400/8)%7,(200/8)%7,(80/8)%7,(40/8)%7 です。)
その4.
↓のフローチャートを体で覚えます。
<やること>
ccyy年m月d日とする。
@mによって、初期位置 x に移動します。
Ad%7を暗算し、それを x に足します。
Bcc=19なら、1 を x に足します。
Cyy を、40未満になるまで40で引きながら、その都度 1 を x に足します。
Dyy を、20未満になるまで20で引きながら、その都度 4 を x に足します。
Eyy を、8未満になるまで8で引きながら、その都度 3 を x に足します。
Fyy を、4未満になるまで4で引きながら、その都度 5 を x に足します。
Gyy を x に足します。
HGの時点でyy=0 で、更にm=1or2なら 6 を x に足します。