project euler 19

def get_monthday(year,month):
	if month==1 or month==3 or month==5 or month==7 or month==8 or month==10 or month==12:
		return 31
	elif month==4 or month==6 or month==9 or month==11:
		return 30
	else:
		if (year%4==0 and year%100!=0) or year%400==0:
			return 29
		else:
			return 28
	return 0

def get_weekday(year,month,first):
	m=get_monthday(year,month)%7
	return (first+m)%7

def problem_19():
	ini=1
	result=0
	for y in range(1900,2001):
		for m in range(1,13):
			n=get_weekday(y,m,ini)
			if(n==0):
				if (y==1900 and m==12) or (not y==1900) and (not (y==2000 and m==12)):
					result=result+1
			ini=n
	return result
没啥好说的额,就是去遍历,233333

你可能感兴趣的:(python,Project,Euler)