What day is January 1st?

Background

  1. If you want to show the calendar in this month, after logging into STU.ipv6.club.tw, you can type the command "cal" and press Enter. This will show you the calendar of this month as follows.
       September 2014
    Su Mo Tu We Th Fr Sa
        1  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
    
  2. If you want to show the calendar of a specific month, for example, January in this year, you may issue the command "cal 1 2014".
        January 2014
    Su Mo Tu We Th Fr Sa
              1  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
    
  3. You may wonder how the computer has the knowledge to do this task. Actually, it is a simple calculation.
  4. We know that January has 31 days. As long as you can determine the day of January 1st, you know how to print out the other days in the calendar of January. The purpose of this exercise is to get you acquainted with the mathematical calculation for this purpose.
  5. The magic formula is as follows. Suppose you want to find out the day of January 1st in the year of YEAR. Let X = YEAR -1 (e.g., X = 2013 for the year of 2014). Then calculate D = ( (X // 400) - (X // 100) + (X // 4) + X + 1) % 7.
  6. If D is 1, January 1st is Monday.
    If D is 6, January 1st is Saturday.
    If D is 0, January 1st is Sunday.
  7. For convenience, let's call Sunday "星期0" in this exercise. We'll learn better skills to handle that in Chapter 5.

The program may run as follows:
哪一年? 2014
第一天是星期3

哪一年? 2011
第一天是星期6