Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Exercício - Número Primo

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

O segredo está em não tentar todas as possibilidades. Basta testar os números ímpares de 3 até a raiz quadrada do N (N=600851475143)

import math
lista = []
n = 600851475143
raiz_quadrada = int(math.sqrt(n))

 # intercala de dois em dois pq precisamos verificar apenas os números ímpares
for number in range(3, raiz_quadrada + 1, 2):
    while n % number == 0:  # Significa que "n" é divisível por "number"
        n = int(n / number)
        lista.append(number)

print(lista)