Euler 6 (Python)
Este post fue migrado de un blog hecho con Wordpress. Si se ve mal, dejame un comentario y lo arreglo.
Enunciado 6
La suma de los cuadrados de los primeros diez números naturales es:
12 + 22 + ... + 102 = 385
El cuadrado de la suma de los primeros diez números naturales es:
(1 + 2 + ... + 10)2 = 552 = 3025
Así que la diferencia entre la suma de los cuadrados de los diez primeros números naturales y el cuadrado de la suma es 3025 − 385 = 2640.
Encontrar la diferencia entre la suma de los cuadrados de los primeros cien números naturales y el cuadrado de la suma.
Solución
La solución fue obtenida utilizando el intérprete interactivo de Python 2.5.2:
>>> def a(n): ... s = sum(xrange(1,n+1)) ... a1 = s ** 2 ... a2 = sum([x**2 for x in xrange(1,n+1)]) ... return a1, a2, a1-a2 ... >>> a(10) (3025, 385, 2640) >>> a(100) (25502500, 338350, 25164150)
Python tips
- Con ** podemos elevar un número a cualquier potencia sin necesidad de importar ningún módulo.
- Para denotar una tupla solo hacen falta las comas (,), no los paréntesis al principio y al final.
Comentarios
Comments powered by Disqus