Avatar ·

Tarea "Divisor primo mínimo"

📁 python, Error: Análisis de errores (SyntaxError, TypeError, etc.), Desarrollo de bots (Telegram, Discord)

Acabo de empezar a estudiar Python en la plataforma Sirius. Pude resolver todas las demás tareas del tema «while», excepto una que no me permite pasar a los siguientes temas. La tarea «Divisor primo mínimo de un número».

Condición: Dado un número entero no menor que 2. Imprime su divisor primo más pequeño. No se pueden usar bibliotecas adicionales (math, etc.)!

Datos de entrada: Se ingresa un número entero positivo N <= 2*10 a la 9ª potencia.

Datos de salida: Imprime la respuesta a la tarea.

Intenté resolverlo escribiendo código con while, pero mi respuesta no es aceptada debido a que el tiempo de ejecución del programa es demasiado largo. Recomiendan organizar un bucle que recorra los divisores hasta la raíz del número N: while i*i <= N:, pero no puedo entender cómo hacerlo.

Mi código en Python (da error «El programa se ejecutó demasiado tiempo y fue interrumpido» o «El programa da error durante el proceso de»)