Euler problem 19を解いた。

Problem 19 †
次の情報が与えられている。

1900年1月1日は月曜日である。
9月、4月、6月、11月は30日まであり、2月を除く他の月は31日まである。
2月は28日まであるが、うるう年のときは29日である。
うるう年は西暦が4で割り切れる年に起こる。しかし、西暦が400で割り切れず100で割り切れる年はうるう年でない。
20世紀(1901年1月1日から2000年12月31日)で月の初めが日曜日になるのは何回あるか。

ツェラーの公式を使えばいい。
なんか色々情報が付与されているけど結局閏年は関係ない。

B_Year=1901
E_Year=2000

def Date_Number(Year,Month,Days):
	if Month <= 2: 
		Month+=12
		Year-=1
	J=Year/100
	K=Year%100
	return (Days + round( (Month+1)*26/10 ) + K + round(K/4) + round(J/4) - 2*J  ) % 7

count=0
for Y in range(B_Year,E_Year+1):
	for M in range(1,12+1):
		if Date_Number(Y,M,1)==1:
			count+=1

もしくは

B_Year=1901
E_Year=2000

import datetime
count=0
for Y in range(B_Year,E_Year+1):
	for M in range(1,12+1):
		dt=datetime.datetime(Y,M,1)
		D=dt.weekday()
		if D==6:
			count+=1