¿Cuál es la lógica de este proceso?
Estaba trabajando en un problema enProyecto euler; y encontré unpregunta en lo. La pregunta y la respuesta aceptada dicen;
n = 600851475143
i = 2
while i * i < n:
while n%i == 0:
n = n / i
i = i + 1
print (n)
Es simplemente asombroso. Todavía no puedo entender cómo este proceso es tan rápido y puedo encontrar el mayor factor primo de 600 mil millones en 0.00001 segundos. Intenté toneladas de métodos y códigos para eso, los procesos tomaron más de 1 hora ...
¿Alguien podría explicarme la lógica de estos códigos y por qué es súper rápido? eswhile
Qué bucle tiene un lugar especial en Python?