
Gilberto Daniel Hermosillo Camacho
PreguntaYo 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)

Gilberto Daniel Hermosillo Camacho
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
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
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