2016年5月12日木曜日

日曜日の数

Project Euler 19

以下の情報が与えられている。
  • 1900年 1月 1日は月曜日である。
  • 9月、4月、6月、11月は30日まであり、2月を除く残りの月は31日までである。
    2月は28日までであるが、うるう年の場合は29日までである。
  • うるう年は4で割り切れる年であるが、100で割り切れ400で割り切れない年は除く。
20世紀の間(すなわち1901年 1月 1日から2000年12月31日まで)、月の最初が日曜日になるのはどれだけか?


calender.monthrange 関数は、与えられた年月の1日の曜日と日数を返す関数である。
import calendar
import time
from calendar import January

START_YEAR = 1901
END_YEAR = 2000

start = time.clock()

c = 0
for y in range(START_YEAR, END_YEAR + 1):
    for m in range(January, January + 12):
        if calendar.monthrange(y, m)[0] == 6:
            c += 1
print c

print "processing time : ", time.clock() - start

0 件のコメント:

コメントを投稿