Problem Euler #19
13 Novembre 2012
You are given the following information, but you may prefer to do some research for yourself. 1 Jan 1900 was a Monday. Thirty days has September, April, June and November. All the rest have thirty-one, Saving February alone, Which has twenty-eight, rain or shine. And on leap years, twenty-nine. A leap year occurs on any year evenly divisible by 4, but not on a century unless it is divisible by 400. How many Sundays fell on the first of the month during the twentieth century (1 Jan 1901 to 31 Dec 2000)?
Python:
import time import datetime as date ts = time.clock() def how_much_sundays(y, z): count = 0 for y in range(y, z + 1): for m in range(1, 13): for d in range(1, 32): try: dobj = date.date(y, m, d) day = dobj.weekday() if day == 6 and d == 1: count += 1 except ValueError: pass return count if __name__ == '__main__': print how_much_sundays(1901, 2000) print time.clock() - ts
Categorie:Project Euler, python
Commenti recenti