Qual é a lógica desse processo
Eu estava trabalhando em um problema emProjeto Euler; e eu achei umPergunta, questão em SO. A pergunta e a resposta aceita dizem;
n = 600851475143
i = 2
while i * i < n:
while n%i == 0:
n = n / i
i = i + 1
print (n)
É simplesmente incrível. Ainda não consigo entender como esse processo é tão rápido e posso encontrar o maior fator primordial de 600 bilhões em 0,00001 segundos. Eu tentei toneladas de métodos e códigos para isso, os processos levaram mais de 1 hora.
Alguém poderia me explicar a lógica desses códigos e por que é super rápido? éwhile
loop tem um lugar especial em Python?