曜日が同じ

 投稿者:山中和義  投稿日:2014年10月20日(月)15時40分36秒
  各月の1日目の剰余を考えると、
・3月と11月
・4月と7月
・9月と12月
は、曜日は毎年同じです。

それぞれの日数間(等差数列、63日(7日×9週))を考えると、
・4/4, 6/6, 8/8, 10/10, 12/12 の曜日は毎年同じです。※1
・3/3, 5/5, 7/7 の曜日は毎年同じです。
・9/9, 11/11 の曜日は毎年同じです。

同様に、
・5/9, 9/5, 7/11, 11/7 の曜日は※1と毎年同じです。

3月以降の万年カレンダーをつくり確認しました。


DATA 31,30,31,30,31,31,30,31,30,31 !3月,4月,5月,…
!!DATA 31,28,31,30,31,30,31,31,30,31,30,31 !平年
!!DATA 31,29,31,30,31,30,31,31,30,31,30,31 !うるう年
LET S=0
FOR M=3 TO 12 !各月
!!FOR M=1 TO 12 !各月
   READ A !日数を得る
   FOR i=1 TO MOD(S,7) !開始位置を前の月に合わせる
      PRINT "   ";
   NEXT i
   FOR D=1 TO A !日にちを記入する
      PRINT USING "###": D;
      IF MOD(S+D,7)=0 THEN
         IF D<=7 THEN PRINT USING "  ##月": M ELSE PRINT !週単位
      END IF
   NEXT D
   PRINT
   LET S=S+A
NEXT M
!!PRINT S !検算
END


実行結果

  1  2  3  4  5  6  7   3月
  8  9 10 11 12 13 14
 15 16 17 18 19 20 21
 22 23 24 25 26 27 28
 29 30 31
           1  2  3  4   4月
  5  6  7  8  9 10 11
 12 13 14 15 16 17 18
 19 20 21 22 23 24 25
 26 27 28 29 30
                 1  2   5月
  3  4  5  6  7  8  9
 10 11 12 13 14 15 16
 17 18 19 20 21 22 23
 24 25 26 27 28 29 30
 31
     1  2  3  4  5  6   6月
  7  8  9 10 11 12 13
 14 15 16 17 18 19 20
 21 22 23 24 25 26 27
 28 29 30
           1  2  3  4   7月
  5  6  7  8  9 10 11
 12 13 14 15 16 17 18
 19 20 21 22 23 24 25
 26 27 28 29 30 31
                    1   8月
  2  3  4  5  6  7  8
  9 10 11 12 13 14 15
 16 17 18 19 20 21 22
 23 24 25 26 27 28 29
 30 31
        1  2  3  4  5   9月
  6  7  8  9 10 11 12
 13 14 15 16 17 18 19
 20 21 22 23 24 25 26
 27 28 29 30
              1  2  3  10月
  4  5  6  7  8  9 10
 11 12 13 14 15 16 17
 18 19 20 21 22 23 24
 25 26 27 28 29 30 31

  1  2  3  4  5  6  7  11月
  8  9 10 11 12 13 14
 15 16 17 18 19 20 21
 22 23 24 25 26 27 28
 29 30
        1  2  3  4  5  12月
  6  7  8  9 10 11 12
 13 14 15 16 17 18 19
 20 21 22 23 24 25 26
 27 28 29 30 31

 

戻る