Euler 1 (Python)
Este post fue migrado de un blog hecho con Wordpress. Si se ve mal, dejame un comentario y lo arreglo.
Project Euler es un sitio web que reta a los programadores a resolver problemas matemáticos mediante código. Me parece entretenido. Voy a ir resolviendo problemas y posteando mi solución en Python acompañada de comentarios sobre el código que puedan servirles a quienes están empezando a aprender el lenguaje.
Enunciado 1
Si listamos todos los números menores a 10 que son múltiplos de 3 o 5, obtenemos 3, 5, 6 y 9. La suma de esos múltiplos es 23.
Encontrar la suma de todos los múltiplos de 3 o 5 menores a 1000.
Solución
La solución fue obtenida en el intérprete interactivo de Python 2.5.2:
>>> def mults(n=10): ... r = [] ... for i in range(1, n): ... if i % 3 == 0: ... r.append(i) ... elif i % 5 == 0: ... r.append(i) ... return r ... >>> mults() [3, 5, 6, 9] >>> sum(mults()) 23 >>> sum(mults(n=1000)) 233168
Python tips
- En la definición de la función
mults
se incluye un argumento por defecton
con valor10
. Cuando más adelante se llama a esta función sin parámetros,n
toma el valor por defecto. - La función
range
, incluida en el lenguaje devuelve una lista de números sobre la que se puede iterar. Muy útil para usar con la estructurafor
. Más información haciendohelp(range)
en el intérprete interactivo.
Comentarios
Comments powered by Disqus