30/03/2009
Project Euler : solution au problème 19, en Python
On dira ce qu'on voudra, finalement résoudre les problèmes dans le désordre ça fait quand même un peu négligé; et les résoudre en commençant par les plus faciles ça fait un peu tire-au-flanc. Donc je reprends dans l'ordre là où j'avais arrêté: au problème 19.
La question est simple: combien de 1er du mois étaient un dimanche, pendant le vingtième siècle?
La solution est simple, si on a le bon sens de laisser les complications de calcul de date aux librairies bien faites. Ricanez, mais un bon programmeur doit savoir ne pas réinventer la roue, non? :-)
#! /usr/bin/env python
# 2009/03/30 - euler019.py
# Solution au Probleme 19 de Project Euler
# http://projecteuler.net/index.php?section=problems&id=19
# Jean Karim Bockstael - jkb@jkbockstael.be
from datetime import *
def euler19(beginyear, endyear):
count = 0
for year in range(beginyear, endyear + 1):
for month in range (1, 13):
if date(year, month, 1).weekday() == 6:
count += 1
return count
print euler19(1901, 2000)