elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: [1] 2 3
1  Programación / Programación General / Re: Empezar a programar en: 14 Abril 2013, 02:49 am
A mi me funciona el link perfecto, prueba a meterte en tutellus.com y buscar por universidad politecnica de valencia -> aprende las bases de python
2  Programación / Programación General / Re: [PYTHON] Ayuda con ejercicio básico en: 7 Abril 2013, 22:47 pm
Me autocontesto:

¿es primo?
Código:
def primo(n):
    for i in range(2,int(n**0.5)+1):
        if n%i==0:
            return False
           
    return True

Solucion
Código:
def euler7():
    n = 2
    contador = 0
    while True:
        if primo(n) == True:
            contador +=1
            if contador == 10001:
                return n
        n += 1
3  Programación / Programación General / [PYTHON] Ayuda con ejercicio básico en: 7 Abril 2013, 12:10 pm
Enunciado:

Listando los 6 primeros números primos: 2, 3, 5, 7, 11, and 13, podemos ver que el sexto numero primo es el 13.

Cuál es el 10001 numero primo?

Mi codigo:
Código:
 def euler7():
    n = 2
    i = 3
    contador = 0
    while n < i:
        if (2**n-2)%n==0:
            contador += 1
            if contador == 10001:
                sol = n
                break
        n += 1
        i += 1
    return sol

Nota: (2**n-2)%n==0 es una propiedad rara que solo se cumple si n es primo.

Me da un resultado que es primo, pero que no es el "100001st" primo.

¿Qué puede estar fallando? Gracias :)
4  Programación / Programación General / Re: Empezar a programar en: 5 Abril 2013, 17:13 pm
Hay muchas guias de iniciación por internet. Mi universidad hizo una de iniciación a python, la puedes ver aquí:

http://www.tutellus.com/764/aprende-las-bases-de-phyton

Saludos
5  Programación / Programación General / Re: Empezar a programar en: 5 Abril 2013, 14:21 pm
Te recomiendo que empieces con Python, que es un lenguaje de programación.

Te voy a resumir un poquito la historia: Un lenguaje de programación es codigo que se parece (relativamente) al lenguaje humano. El ordenador NO lo entiende, y para que lo entienda tienes que compilarlo. Compilarlo consiste en convertir tu código a unos y ceros (binario), que el ordenador SI entiende y eso se hace con un compilador.

Por lo tanto encesitas descargar un compilador.

Por otro lado no entiendo por que te tienes que ponerte Ubuntu, no depende el SO con programar o no. Yo programo desde un mac con OS X...

Saludos :)

Edito para recomendarte: http://foro.elhacker.net/programacion_general/como_empezar_en_programacion-t32008.0.html
6  Programación / Ejercicios / Re: [PYTHON] Ejercicio de novato en: 4 Abril 2013, 13:56 pm
Me autocontesto por si a alguien le interesa.

El codigo final es:

Código:
 a = 600851475143
for n in xrange(int(a**0.5),2,-1):
    if  a%n == 0 and (2**n-2)%n==0:
        sol = n
        break

print sol

El cambio ha sido utilizar xrange que no guarda todos los valores en la memoria. Y otro detalle ha sido cambiar el orden de comprobacion, he comprado primero si es divisible cosa que es mucho más rapida de hacer, asi el programa descarta mucho antes.

Saludos :)
7  Programación / Ejercicios / [PYTHON] Ejercicio de novato en: 4 Abril 2013, 11:05 am
Estoy buscando un numero primo que al dividir un numero dado entre dicho numero primo de de resto 0, y que este sea el mas alto posible.

Código:
 a = 600851475143
for n in range(int(a**0.5),2,-1):
    if (2**n-2)%n==0 and a%n == 0:
        sol = n
        break

print sol

Este codigo no se si está mal o bien, no da error, simplemente se queda pensando al compilarlo y asi lleva 1 hora y media. ¿Por qué?

El algoritmo consiste en:
- Utilizar un range inverso que empiece con la raiz cuadrada del numero buscado (ya que un numero primo divisor del numero dado nunca va a ser mayor que la raiz cuadrada de este) e ir hacia abajo en pasos de -1.

- Pasar saber si es primo utilizo (2**n-2)%n == 0 , es una propiedad rara de las matematicas, si un número cumple eso, es primo

- Y para saber si dicho numero primo da de resto 0 al numero que me dan hago a%n ==0

- Si cumple las dos condiciones necesarias entonces la solucion es ese primo, y salgo del bucle.

Yo pensaba que mi range si que estaba optimizado por que en cuanto encuentra 1 sale. No los coge todos si no que como quieres el mas grande vas del mas grande al mas pequeño entonces sales del bucle en cuanto encuentras uno.

Lo he probado con numeros mas bajitos y funciona, pero me gustaria saber como hacerlo para que funcione con numeros muy grandes y no se quede el ordenador pensando 3 horas.

GRACIAS :)
8  Programación / Desarrollo Web / Re: ¿Qué lenguaje debería escoger para este proyecto? en: 2 Abril 2013, 02:00 am
Muchisimas gracias por contetsar, finalmente la eleccion ha sido: Django. :)
9  Programación / Desarrollo Web / Re: ¿Qué lenguaje debería escoger para este proyecto? en: 31 Marzo 2013, 22:25 pm
Tengo dos opciones: Django o Php. ¿Cuál eligiríais?
10  Programación / Programación General / Re: Me siento atascado. en: 31 Marzo 2013, 11:39 am
Muchísimas gracias, creo que me voy a poner a estudiar a tope Php + MySQL. Si tengo dudas me pasaré por aquí que me ayudáis muy bien!! Gracias  :rolleyes:
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines