指カレンダーの使い方(改) 

説明

前に紹介したものを少しアレンジして、1月から数える方式にした。

準備

日付について
曜日を知りたいグレゴリオ暦の0年3月1日以降の任意の日付に対して, 年の下4桁をY,月をM,日をDとする. M<3の場合は, Y'=Y-1(ただし, Y=0のときはY'=9999), M≥3の場合はY'=Yとする.

使う部分

左手の人差し指, 中指, 薬指にある関節で区切られた部分のうち7つを親指で押さえて数える。各部には番号が付けられており, それぞれ人差し指の先から0, 1, 2, 中指の先から3, 4, 5, 薬指の先が6.
f:id:suzuki-kentaro:20160419151733j:plain

月の位置

1,2,3,...,12に対して, 指の位置0,3,2,5,0,3,5,1,4,6,2,4を月の位置と呼ぶ.
f:id:suzuki-kentaro:20160419151810j:plain

ルート1

指の各部について, 0,1,2,...,6,0,1,2,...という順番をルート1と呼ぶ.
f:id:suzuki-kentaro:20160419151825j:plain

ルート4

指の各部について, 0,4,1,5,2,6,3,0,4,1,...という順番をルート4と呼ぶ.
f:id:suzuki-kentaro:20160419151835j:plain

ルート5

指の各部について, 0,5,3,1,6,4,2,0,5,3,...という順番をルート5と呼ぶ.
f:id:suzuki-kentaro:20160419151845j:plain

答えの曜日

手順を実行して最後に押さえている位置が0,1,2,...,6のとき, 目的の曜日は日,月,火,...,土.
f:id:suzuki-kentaro:20160419151903j:plain

手順

(図は4352年4月16日)

Step1.

対応する月の位置を押さえながら, 1,2,3,...,Mと数える.
f:id:suzuki-kentaro:20160419151915j:plain

Step2.

押さえている位置を移動せずに, D以下で最大の7の倍数を数える.
f:id:suzuki-kentaro:20160419151925j:plain

Step3.

Dを超えない限り, 1ずつ足した数を数える. ただし数を数えるごとに押さえている位置はルート1に従って移動させる.
f:id:suzuki-kentaro:20160419151934j:plain

Step4.

押さえている位置を移動せずに, Y'以下で最大の400の倍数を数える.
f:id:suzuki-kentaro:20160419151944j:plain

Step5.

Y'を超えない限り, 100ずつ足した数を数える. ただし数を数えるごとに押さえている位置はルート5に従って移動させる.
f:id:suzuki-kentaro:20160419151954j:plain

Step6.

Y'を超えない限り, 20ずつ足した数を数える. ただし数を数えるごとに押さえている位置はルート4に従って移動させる.
f:id:suzuki-kentaro:20160419152003j:plain

Step7.

Y'を超えない限り, 4ずつ足した数を数える. ただし数を数えるごとに押さえている位置はルート5に従って移動させる.
f:id:suzuki-kentaro:20160419152013j:plain

Step8.

Y'を超えない限り, 1ずつ足した数を数える. ただし数を数えるごとに押さえている位置はルート1に従って移動させる.

(答えは水曜日)