Alguien sabe por qué me crashea?

Hugo Gómez

Hugo Gómez

Pregunta
studenthace 4 años

Alguien sabe por qué me crashea?

4 respuestas
para escribir tu comentario
    Pablo Antipan Quiñenao

    Pablo Antipan Quiñenao

    studenthace 4 años

    Hola! Uso un Ryzen 5 4500u 16GB RAM. Tome n = 200.000 y con setrecursionlimit ( 10000000000 ), que es 10^3 veces lo que seteaste tu; se exeden el size de dato para integer jaja.

    from time import time import sys print(sys.getrecursionlimit()) print(sys.setrecursionlimit(10000000000)) 10000000 10000000000 def hello_world(): print("Hello World!") def facto(n): if n == 1: return 1 return n * facto(n - 1) def run(): # hello_world() n = 200000 print("result:", facto(n), "\n") if __name__ == "__main__": start = time() run() end = time() print("delta t:", end - start)

    Espero te sirva de feedback! :)

    Saludos!

    Hugo Gómez

    Hugo Gómez

    studenthace 4 años

    Ya está implementado ("sys.setrecursionlimit(10000000)"), me parece raro que otras pc's menos potentes que las mía puedan hacerlo, pero creo que es por un error de memoria por estar usando linux tal vez, encontré esto https://stackoverflow.com/questions/19641597/what-is-segmentation-fault-core-dumped

    "Segmentation fault" means that you tried to access memory that you do not have access to.

    Supongo que es por eso

    Pablo Antipan Quiñenao

    Pablo Antipan Quiñenao

    studenthace 4 años

    Hola! Porque para tu maquina, al pedirle el factorial de 200.000; ya no puede y entonces Python corta antes que "explote" todo. O sea, se protege para no colapsar el sistema.

    Saludos!

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.