Yo tengo el problema de “Segmentation fault (core dumped)” y por lo que estuve investigando no tiene que ver con el código, está relacion...

Gilberto Daniel Hermosillo Camacho

Gilberto Daniel Hermosillo Camacho

Pregunta
studenthace 5 años

Yo tengo el problema de “Segmentation fault (core dumped)” y por lo que estuve investigando no tiene que ver con el código, está relacionado con el hardware aunque mi computadora es bastante nueva y de gran capacidad. Espero resolverlo pronto.

import time import sys def factorial(n): respuesta = 1 while n > 1: respuesta *= n n -= 1 return respuesta def factorial_recursivo(n): if n == 1: return n return n * factorial_recursivo(n-1) if __name__ == '__main__': n = 300000 sys.setrecursionlimit(n+10) comienzo = time.time() factorial(n) fin = time.time() print(fin-comienzo) comienzo = time.time() factorial_recursivo(n) fin = time.time() print(fin-comienzo)

26.30947995185852

Segmentation fault (core dumped)

3 respuestas
para escribir tu comentario
    Gilberto Daniel Hermosillo Camacho

    Gilberto Daniel Hermosillo Camacho

    studenthace 5 años

    Hola. Ya intenté ejecutando desde una terminal, con python 2.7, 3.6 y 3.8 y sigo con el mismo error, a demás, si no importo sys, me arroja el error de exceso de iteraciones. Seguiré investigando como resolverlo.

    Muchas gracias.

    JESUS ALBERTO CARREÑO MARTINEZ

    JESUS ALBERTO CARREÑO MARTINEZ

    studenthace 5 años
    import time #Para poder medir el timepo #Generaremos dos implementaciones de factorial #Generaremos una implementacion iterativa y una implementacion recursiva (previamente dicha) def factorial (n): respuesta=1 while n>1: respuesta *=n n-=1 return respuesta def factorial_recursivo(n): if n==1: return 1 else: return n*factorial (n-1) if __name__ == "__main__": n=200000 comienzo=time.time() #Significa que ejecutamos el modulo time y adentro de ese modulo existe una funcion llamada time factorial(n) #print(factorial(n)) final=time.time() print(final-comienzo) #Ver cuanto tiempo nos tardamos comienzo=time.time()#reasignamos la misma variablr factorial_recursivo(n) #print(factorial_recursivo(n)) final=time.time() print(final-comienzo)```
    JESUS ALBERTO CARREÑO MARTINEZ

    JESUS ALBERTO CARREÑO MARTINEZ

    studenthace 5 años

    Hola, busca no importar sys ya que a mi parecer no ayuda en nada. En el sig comentario te comparto mi codigo.

    Si esto tampoco funcionara prueba con otro IDE o desinstala e instala el compilador de python

Curso de POO y Algoritmos con Python

Curso de POO y Algoritmos con Python

Comprende la eficiencia algorítmica con Python. Analiza complejidad temporal y espacial, visualiza resultados y resuelve problemas de optimización. Ideal para desarrollar habilidades esenciales en el análisis de algoritmos.

Curso de POO y Algoritmos con Python
Curso de POO y Algoritmos con Python

Curso de POO y Algoritmos con Python

Comprende la eficiencia algorítmica con Python. Analiza complejidad temporal y espacial, visualiza resultados y resuelve problemas de optimización. Ideal para desarrollar habilidades esenciales en el análisis de algoritmos.