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
multsse incluye un argumento por defectoncon valor10. Cuando más adelante se llama a esta función sin parámetros,ntoma 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