Skip to content
abril 9, 2012 / dracux

Matemática y Programación V: Números de Mersenne

Ya que veníamos con el tema de los primos, acá les dejo unos en particular que tienen alguna particularidad.

Resulta que en el siglo XVII, Marin Mersenne, un filósofo francés, se le ocurrió este asuntito de que hay una gran cantidad de números primos del formato 2ˆn -1 y por esas cosas de la vida, hoy por hoy siempre, el número primo más alto conocido es un número de Mersenne. En este momento es el n=43.112.609, lo que da un número de más de 13 millones de dígitos.

Realmente es apasionante todo lo que hay sobre estos números, y se los dejo en el acceso de Wikipedia. Lo que nos vamos a ocupar ahora es de hacer un programita que nos permita verificar estos números en Python. Obviamente podemos tomarlo como una extensión del programita anterior de números primos.

Tuve que cambiar un problemita que se me hacía con números grandes y el range, por lo que lo toqué un poco para que ande con un while.


from datetime import *
flag=0
nro=input ("Ingrese n:")
print "Hora de inicio: "+str(datetime.today())
nro=2**nro - 1
print nro

if(nro%2==0 and nro!=2):
    flag=1
else:
    nroinicial=(nro+1)/2
if (nro==1): #1 no es primo
    flag=1

if (flag==0):
    if(nro!=2): #2 es primo
        #for i in range (3,nroinicial+1,2):
        i=3
        while (i<=nroinicial):
            if(nro%i==0):
                print "Nro. "+str(nro)+" is divisible by "+str(i)+""
                flag=1
                break
            i=i+2
if (flag==0):
    print "El nro. "+str(nro)+ " es primo."
else:
    print "El nro. "+str(nro)+ " no es primo."
print "Hora de fin: "+str(datetime.today())

Más en la próxima 🙂

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: