jueves, 19 de enero de 2012

Calculando factores primos con Sympy



Sympy es una mega-librería de matemáticas para python, en ella podrás encontrar funciones para integrar simbólicamente, generadores de polinomios especiales, rutinas para resolver analítica y numéricamente ecuaciones diferenciales, y mucho más.

En nuestro caso estaremos interesados en la sub-libreria de teoría de números ntheory. En esta podremos encontrar entre otras cosas una función que calcula todos los factores primos de un número.


Ejemplo 1:
Como objetivo inicial fijémonos como meta calcular los factores primos del número 13195.

El programa iniciaría de la siguiente forma

# -*- coding: utf-8 -*-
from sympy.ntheory import primefactors as pf
# hemos cargado la función que calcula los factores primos de un número.
print pf(13195)
# Programa Finalizado


El resultado final será la lista:

[5, 7, 13, 29]



para aumentar la complejidad de nuestro programa, resolvamos el siguiente problema.

Problema 1:
Consideremos el siguiente número entero:

374874837483748738478374837473

calcular la suma de todos sus factores primos.

Solución: El preámbulo del programa anterior nos servirá mucho para esta tarea.

# -*- coding: utf-8 -*-
from sympy.ntheory import primefactors as pf
L=pf(374874837483748738478374837473)
suma=0
for i in L:
    suma=suma+i
print “El resultado es: ”, suma
# fin del programa


El resultado final fue:

51906840377


Solo me queda decirles ... Que se diviertan :-)


Si te ha gustado este artículo, compártelo en facebook, twitter, google+, coméntalo, envíalo por correo, y si quieres mas información, pídela. Si no te gusta, critícalo. Tu tienes completo control sobre los contenidos de este blog.

2 comentarios:

  1. muy bueno tu blog, muy bueno este post, espero que siga publicando post como estos, puedes mejorar las cuestiones de publicidad con adsense para que lo puedas monetizar

    ResponderEliminar
    Respuestas
    1. Gracias. Estoy tratando de hacerlo, así como escribir nuevos post.

      Eliminar