Respuestas Numeros Primos (JS Noviembre)

Encontrar los 5 primeros numeros primos del 1 al 100.

Nota:

  • Solo debes usar ciclos y condicionales.
  • Bonus: Encontrar los 5 primeros numeros primos entre un rando de numeros ingresados por el usuario. Ej: 456 - 678

Esta es mi solucion base, como la ven ustedes, que agregaria que cambiarian?

let countPrime = 0
let count = 2

while (countPrime < 5 && count < 100) {
  let aux = true
  let num = count

  //#region Check if number is prime
  for (let index = 2; index < num; index++) {
    if (num % index === 0) {
      aux = false;
    }
  };

  // If number is prime, increment countPrime
  if (aux) {
    countPrime = countPrime + 1
    console.log(count);
  }
  //#endregion

  count = count + 1
}

Elige cuantos numeros primos

let num=1;
let divisor;
let con;
let v=false;
let c=0; 
let miNum=prompt("cuantos numeros primos del 1 al 100");
while(v==false){
num++;
con=0;
divisor=1;
while(divisor<=100){
 if( num%divisor==0){
  con++;
 }
divisor++;
}
if(con==2){
console.log(num,"es primo");
c++;
if(c==miNum){
  v=true;
}
continue;
}else{
continue;
  //console.log(num,"no es primo");
}
}

Mi ejercicio, primos con un rango

let divisor;
let con;
let primero=parseInt(prompt("Ingrese primer numero"));
let segundo=parseInt(prompt("Ingrese segundo numero"));
while(primero<segundo){
primero++;
con=0;
divisor=1;
while(divisor<=segundo){
 if( primero%divisor==0){
  con++;
 }
divisor++;
}
if(con==2){
console.log(primero,"es primo");
continue;
}else{
continue;
}
}

esta es mi propuesta

numeroIterador=romperCiclo=1
secuencia=0
while(numeroIterador<=100&&romperCiclo<6){
//for(i=1;i<=100;i++){
    contador=0
for(numero=1;numero<=9;numero++){
 if(numeroIterador%numero===0){
    contador++
}
}
if(contador<3){
  secuencia++
console.log(`el ${secuencia} numero primo del 1 al 100 es:  ${numeroIterador}`)
romperCiclo++ 
}
numeroIterador++
}

si quisieras ya no evaluar los 5 primeros numeros si no los 10 o mas datos ,te daria problemas ya que mostraria numeros que no son primos

Solo debes usar ciclos y condicionales.
Bonus: Encontrar los 5 primeros numeros primos entre un rango de numeros ingresados por el usuario. Ej: 456 - 678

let inicio=parseInt(prompt("ingrese el numero de inicio a evaluar"))
const fin=parseInt(prompt("ingrese el numero de final a evaluar"))
const datoInicio=inicio
let romperCiclo=1
let secuencia=0
while(inicio<=fin&&romperCiclo<6){
//for(i=1;i<=100;i++){
    let contador=0
for(numero=1;numero<=9;numero++){
 if(inicio%numero===0){
    contador++
}
}
if(contador<2){
  secuencia++
console.log(`el ${secuencia} numero primo del ${datoInicio}  al ${fin} es:  ${inicio}`)
romperCiclo++ 
}
inicio++
}

La respuesta es:

let contador=0;
const primerNumero = parseInt(prompt('Ingrese el primer número'));
const segundoNumero = parseInt(prompt('Ingrese el segundo número'));
let index=primerNumero;
console.log(`\nLos 5 primeros numeros primos desde ${primerNumero} hasta ${segundoNumero} son:\n`);
let numerosPrimos = 0;

while(numerosPrimos<5){
  contador=0;
  if(index%index===0 && index%1===0){
    contador++;
  }

for(let numero=1; numero<=100; numero++){
  if((index%numero===0) && (numero!=index)){
    contador++;
  }
}

if(contador==2){
  console.log(index, ' es un número primo!');
  numerosPrimos++;
}
index++;
}

Me llamo la atención y lo resolví de esta manera.

let numero = 1, divisor, residuo;

for (numero; numero <= 100; numero++) {
  divisor = 1;
  residuo = 0;
  while (divisor <= numero && residuo <= 2) {
    if (numero % divisor === 0) residuo++;
    divisor++;
  }
  if (residuo === 2) console.log(`El numero ${numero} es primo`);
}

//Para saber si un numero es primo voy a utilizar el Teorema de Wilson
// el cual requiere que se calcule el factorial.
// factorial de un numero
// 5! = 5x4x3x2x1 = 120
console.log(factorial(5))

function factorial (n) {
	var total = 1; 
	for (i=1; i<=n; i++) {
		total = total * i;
        console.log(total) 
	}
	return total; 
}


// Teorema de Wilson
// si (p-1)! + 1 es multiplo de p entonces p es primo

let num = 5;
num = num-1;

console.log(factorial(num)+1);

if ((factorial(num)+1) % (num +1) === 0){
    console.log(`${num+1} : es primo`);
}else{
    console.log(`${num+1} : no es primo`)
}