Tarefa "Menor divisor primo"
📁 python, erro, botas
Acabei de começar a estudar Python na plataforma Sirius. Consegui resolver todas as outras tarefas do tópico «while», exceto uma tarefa que não me permite passar para os próximos tópicos. A tarefa «Menor divisor primo de um número».
Condição: Dado um número inteiro, não menor que 2. Imprima seu menor divisor primo. Não é permitido usar bibliotecas adicionais (math, etc.)!
Dados de entrada: É inserido um número inteiro positivo N <= 2*10 elevado à 9ª potência.
Dados de saída: Imprima a resposta para a tarefa.
Tentei resolver escrevendo um código com while, mas minha resposta não é aceita, devido ao tempo de execução muito longo do programa. Recomenda-se organizar um loop que percorra os divisores até a raiz do número N: while i*i <= N:, mas não consigo entender como fazer isso.
Meu código Python (dá erro «O programa executou por muito tempo e foi interrompido» ou «O programa apresenta erro durante o processo de»)