Oi, estava tentando resolver um desafio de listar todos os números primos entre dois números informados porém estou empacada e não sei como resolver meu problema.
Comecei criando a lógica para verificar se o número informado é primo:
var numero = parseInt(prompt("Informe seu numero"));
var teste = true;
if (numero != 1) {
for(var i = 2; i < numero/2; i++){
if (numero % i == 0) {
teste = false;
}
}
}
if (teste){
document.write("Seu número é primo.");
} else {
document.write("Seu número não é primo.");
}
Até aqui tudo funcionou como deveria, porém como eu quero uma lista de números primos, pensei em transformar isso numa função...
var numeroInicial = parseInt(prompt("Informe seu numero inicial"));
var numeroFinal = parseInt(prompt("Informe o número final"));
var teste;
function verificaPrimo(num){
if (num != 1) {
for(var i = 2; i < num/2; i++){
if (num % i == 0) {
teste = false;
}
}
}
if (teste){
document.write("O número " + numeroInicial + " é primo.");
document.write("<br>");
} else {
document.write("O número " + numeroInicial + " não é primo.");
document.write("<br>");
}
}
while(numeroInicial <= numeroFinal){
verificaPrimo(numeroInicial);
numeroInicial++;
}
Só que desse jeito ele sempre me diz que o número não é primo. E não consegui achar uma forma da variável teste ser true sem que ele dissesse que todos os números são primos... Estou num impasse. O que posso fazer pra solucionar meu problema?