Introducción

1

Desafíos para Entrenar tu Pensamiento Lógico

Desafío 1: Problema

2

Cajas de Frutas

Quiz: Desafío 1: Problema

Desafío 1: Solución

3

Solución al desafío de Cajas de Frutas

Desafío 2: Problema

4

Operación Matemática Oculta

Quiz: Desafío 2: Problema

Desafío 2: Solución

5

Solución al desafío de Operación Matemática Oculta

6

Playground: Operación Matemática Oculta

Desafío 3: Problema

7

Carrera de Automóviles

Quiz: Desafío 3: Problema

Desafío 3: Solución

8

Solución al desafío de Carrera de Automóviles

Desafío 4: Problema

9

Identifica la operación

Quiz: Desafío 4: Problema

Desafío 4: Solución

10

Solución al desafío de identifica la operación

11

Playground: Obtén el factor multiplicador

Desafío 5: Problema

12

Los signos matemáticos

Quiz: Desafío 5: Problema

Desafío 5: Solución

13

Solución al desafío de signos matemáticos

Desafío 6: Problema

14

Operaciones matemáticas

Quiz: Desafío 6: Problema

Desafío 6: Solución

15

Solución al desafío de operaciones matemáticas

Desafío 7: Problema

16

Figuras lógicas

Quiz: Desafío 7: Problema

Desafío 7: Solución

17

Solución al desafío de figuras lógicas

Desafío 8: Problema

18

Identifica la operación

Quiz: Desafío 8: Problema

Desafío 8: Solución

19

Solución al desafío de identifica la operación

Desafío 9: Problema

20

Secuencias de Dominos

Quiz: Desafío 9: Problema

Desafío 9: Solución

21

Solución al desafío de secuencia de dominos

Desafío 10: Problema

22

Une los puntos

Desafío 10: Solución

23

Solución al desafío de une los puntos

Desafío 11: Problema / Solución

24

Playground: Reduce el número a 1 en la menor cantidad de pasos

Desafío 12: Problema / Solución

25

Playground: Imprime los números primos

Desafío 13: Problema

26

Encuentra la lógica del mandato

Quiz: Desafío 13: Problema

Desafío 13: Solución

27

Identifica la lógica - Platzi

Desafío 14: Problema

28

Identifica los números

Quiz: Desafío 14: Problema

Desafío 14: Solución

29

Solución al desafío de identifica los números

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
3 Hrs
33 Min
11 Seg

Playground: Imprime los números primos

25/29

Aportes 122

Preguntas 10

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Mi solución… Debo decir que mi lenguaje principal es Python.

export function solution(num) {
  // Tu código aquí 👈
  let result = []
  for (let i = 1; i <= num; i++) {
    let counter = 0
    for (let j = 1; j <= i; j++) {
      if (i % j == 0) {
        counter += 1
      }
    }
    if (counter == 2) {result.push(i)}
  }
  return result
}

💚Solución con Explicación💚

🛡️MURO ANTI-SPOILERS🛡️

🎯Explicación

Primero que nada, en este desafió hay un montón de posibles soluciones, sin embargo, la mayoría recae en el método de validar si un número es primo o no.
La estructura común para resolver este desafío es:

  1. Crear un arreglo donde guardar los primos.
  2. Recorrer todos los posibles números hasta el número num.
  3. Al recorrer los números verificar si es primo, de modo que agreguemos al arreglo los que lo sean.
  4. Al terminar de recorrer todos los números retornar el arreglo con los primos.

Si bien, suena sencillo tenemos que pensar que el paso 2 y el paso 3 tienen cosas que tomar en cuenta.

👁️Problema del Paso 2

En el paso 2 de recorrer todos los posibles números puede ser algo bastante ineficiente ya que, supongamos que nuestro num es muy grande como 1 millón, tendríamos que hacer 1 millón ciclos, cosa que es muy costosa. A esto se le puede llamar que se tiene una complejidad O(n) (puedes aprender más de complejidad algorítmica en el Curso de Complejidad Algorítmica con JavaScript).
Entonces, ¿Cómo podemos evitar recorrer todos los números?
En primera el ejercicio nos brinda información muy útil acerca de los primos mencionándonos que todos los primos son números IMPARES por lo que partiendo de eso podemos hacer lo siguiente:

  • Si num es mayor o igual a 2, directamente meter a 2 en la lista de primos (ya que en el ejercicio nos menciona que 2 es el único número primo que es PAR.
  • Empezar a recorrer los números a verificar desde el número 3 hasta num avanzando de 2 en 2 para así solo evaluar los números IMPARES.

De esta manera mejoraremos el tiempo de ejecución al tener una complejidad menor ya que literalmente estamos evitando revisar la mitad de los números.

👁️ Problema del Paso 3

Ahora para este paso podemos encontrar muchísimas formas de poder verificar si un número es primo o no, podemos ayudarnos de diferentes principios matemáticos o de alguno que otro truco del mundo de la programación.
En mi caso decidí irme por una vertiente sencilla la cual es muy similar al paso anterior el cual es verificar si el número que estamos analizando es divisible entre un conjunto de números menores que él.
Es claro que podríamos recaer en el mismo problema de la complejidad O(n) (que si hubiéramos dejado igual en el anterior paso tendríamos una complejidad cuadrática nada deseable) por lo que para acortarnos el camino de análisis es necesario investigar un poco.
Con un poco de investigación encontré que "los factores primos de un número no son mayores que su raíz cuadrada" y ya ahí nos evitamos hacer el análisis de todos los posibles factores hasta el número que estamos analizando.
Po otro lado, también podemos descartar a todos los números pares ya que como los números que estaremos analizando SIEMPRE serán impares pues es obvio que no tendrán algún factor PAR.
Y de esta manera podremos analizar mejor si es primo o no el número actual (ve el código comentado para que comprendas mejor esta implementación)

🎖️Conclusión

Esta implementación es solo una de muchas posibles, puede que sea más eficiente que unas pero también pueden haber otras, es lo bonito de la programación, podemos encontrar muchos caminos para poder llegar a un mismo destino.
No te rindas! Nunca pares de aprender! y sigue en tu camino de aprendizaje! 💚

Espero mi explicación les haya servido para comprender mejor el desafío y/o inspirarse para crear alguna otra implementación 👀

👾Código

export function solution(num) {
  let primes = []

  //Si num es mayor o igual a 2 de una vez agregamos el 2 como primo
  if (num >= 2)
    primes.push(2)

  //Recorremos todos los posibles impares hasta "num" avanzando de 2 en 2 desde el número 3
  for (let actualNumber = 3; actualNumber <= num; actualNumber += 2){
    //Verificación si numero actual es primo
    let isPrime = true
    for (let divisor = 3; divisor <= Math.sqrt(actualNumber); divisor += 2){
      //Se verifican los divisores impares desde 3 hasta la raíz cuadrada del número actual
      if (actualNumber % divisor == 0) //Si es divisible se descarta
        isPrime=false
    }
    //Guadamos el número sólo si es primo
    if (isPrime)
      primes.push(actualNumber)
  }

  return primes
}
no deja presentar examen porque?? no se señal o WiFi nada solo sale que eso se restaurará y nada q se puede

Código JavaScript:


function numPrimos(n) {
	let a, b, c, result = [];
	for (a=1 ; a<=n ; a++)  {
		for (c=0, b=1 ; b<=a; b++)  {
			if (a % b == 0)  c++; 
			if( c>2 )  break; 
		}
		if (c == 2)  result.push(a);
	}
	return result;
}
numPrimos(10);
export function solution(num) {
  // Tu código aquí 👈
  let arr = [];
  // Si es mayor o igual a 2 entonces pushear en el array jeje
  // Nota1: El 2 tambien es primo aunque es par
  if (num >= 2) arr.push(2);
 //Como no necesito validar el 1 entonces inicializo el ciclo desde el 2 y que me tire todos los impares
 / /Nota2: Todos los impares son primos, excepto el 1.
  for (let i = 2; i <= num; i++) {
    if (i % 2 !== 0) {
      arr.push(i);
    }
  }
  return arr;
}



Mi solución

export function solution(num) {
  const primos = [];

  for (let i = 2; i <= num; i++) {
    let esPrimo = true;
    for (let j = 2; j < i; j++) {
      if (i % j === 0) {
        esPrimo = false;
        break;
      }
    }
    if (esPrimo) {
      primos.push(i);
    }
  }

  return primos;

}

No me deja realizar el Examen, al darle presentar me saca al home de platzi

Mi solucion de 14 pasos.

let arreglo = []
  for (let a = 0; a <= num; a++) {
    let res = 0
    for (let i = 1; i <= a; i++) {
      if (a % i == 0) {
        res++
      }
    }
    if (res == 2) {
      arreglo.push(a)
    }
  }
  return arreglo
Genial, genial, despues de mucho he logrado completar el algoritmo del problema con algunos detalles. Igual necesite de orientacion, pues me cuesta implementar o plasmar la logica del algoritmo en el codigo. Pero de a poco voy mejorando. Aca les dejo mi codigo ```js export function solution(num) { let numerosContenidos = [] let numerosPrimos = [] for (let i = 2; i <= num; i++) { numerosContenidos.push(i) } for (let i = 0; i < numerosContenidos.length; i++) { let num = numerosContenidos[i] let resultado = esPrimo(num) if (resultado) { numerosPrimos.push(num) } } return numerosPrimos function esPrimo(n) { if (n % 2 === 0 && n !== 2) { return false } if (n === 1) { return false } let divisores = [] for (let i = 1; i <= n; i++) { if (n % i === 0) { divisores.push(i) } } if (divisores.length > 2) { return false } return true } } ```Primero relleno el array `numerosContenidos` con todos los numero desde 2 hasta el numero `num` que ingrese en el imput. Desde 2 porque es el primer numero primo. Luego usando un ciclo `for()` recorro el array `numerosContenidos`, y cada uno de los elementos del array lo guardo en la variable `num` (es una variable local, no tiene nada que ver con el `num` de afuera). Cada uno de estos elementos los paso por la funcion `esPrimo` y se guardaran en la variable `resultado` , si el valor de `resultado` es `true`, es decir si el numero es primo, agregara al array `numerosPrimos`. Luego se retorna el valor de `numerosPrimos` en pantalla. :D

Mi solicion del problema en python

primos=[1]
numero=int(input("Ingresa un numero => "))
i=1
while i<=numero:
  
    for primo in primos:

        raiz=i**0.5
        if primo<=raiz:

            respuesta=i%primo
        
            if respuesta==0 and primo>1:
                break
        
      
    if (i in primos):
        print()
    elif respuesta > 0:
        primos.append(i)
    elif respuesta==0 and len(primos)<3:
        primos.append(i)
    
    i+=1

i=0
while i<=len(primos)-1:
  
  print(primos[i])
  i+=1
Muy buenos, lo que más me gusta son los tipo de sucesiones 🥰

Me re costo pero pude gracias a la comunidad de platzi 💪
Mi codigo:

<export function solution(num) {
  let arrayResult = []

  for (let i = 2; i <= num; i++) {
    let primo = true
    for (let b = 2; b < i; b++) {
      if (i % b === 0) {
        primo = false
      }
    }
    if (primo === true) {
      arrayResult.push(i)
    }

  }

  if (num == 2) {
    arrayResult.splice(arrayResult.length)
    return arrayResult
  } else {
    return arrayResult 
  }
}> 
export function solution(num) {
  // Tu código aquí 👈

  let primos = [];

  // i = numero a evaluar ; j = divisor
  for (let i = 2; i <= num; i++) {
    let primo = true;
    for (let j = 2; j < i; j++) {
      if (i % j === 0) {
        primo = !primo;
        break
      }
    }
    if (primo === true) {
      primos.push(i)
    }
  }
export function solution(num) {  // Función para verificar si un número es primo  function isPrime(n) {    if (n < 2) return false; // 1 no es primo    for (let i = 2; i <= Math.sqrt(n); i++) {      if (n % i === 0) return false;    }    return true;  }   // Crear el arreglo de números primos  const primes = \[];  for (let i = 2; i <= num; i++) {    if (isPrime(i)) {      primes.push(i);    }  }   return primes;}
Les comparto la solución que diseñé para este reto, la cual está basada en un anidamiento de un bucle for que sirve para establecer si el número que se está analizando es primo, dentro de otro bucle for que se emplea para definir el número que está siendo analizado, iniciando por el que se recibió como argumento, y regresando hasta llegar al número 2. El código es el siguiente: ![](https://static.platzi.com/media/user_upload/image-ac297e43-2b9d-4573-89e8-3f7b71cd69a6.jpg) y la respuesta obtenida en las pruebas fue la siguiente: ![](https://static.platzi.com/media/user_upload/image-d0b5d460-5e7b-4173-9514-7012e3e79301.jpg) Si tienen alguna duda les sugiero consultar este vídeo: <https://www.youtube.com/watch?v=kw3r9t7i9rQ>
Logré dar con esta respuesta luego de estar testeando el código por horas. Este tipo de desafío es muy avanzado para este nivel de clase. La lógica es fácilmente comprensible, pero super difícil de llegar ahí solamente con pura lógica. export function solution(num) { if (num < 2) return \[]; let primes = \[]; for (let i = 2; i <= num; i++) { let isPrime = true; for (let j = 2; j <= Math.sqrt(i); j++) { if (i % j === 0) { isPrime = false; break; } } if (isPrime) { primes.push(i); } } return primes; }
```js export function solution(num) { let array = []; if (num == 0 || num == 1) { return array; } else { array = [2] let numActual = 3; while (numActual <= num) { if (numActual % 2 != 0) { array.push(numActual); } numActual++; } return array; } } ```
MI SOLUCIÓN ```js export function solution(num) { const numerosPrimos = []; for (let i = 2; i <= num; i++) { let esPrimo = true; for (let j = 2; j < i; j++) { if (i % j === 0) { esPrimo = false; break; } } if (esPrimo) { numerosPrimos.push(i); } } return numerosPrimos; } console.log(solution(20)) ```
`export function solution(num) {  let matriz = [], numero = num` `  for (let N = 2; N - 1 < numero; N++) {    //¿N Es primo?    let valor = true //para 2 y resto de primos    for (let i = 2; i < N; i++) { //no es primo por ser divisible      if ((N % i) == 0) { valor = false; break }    }` `    if (valor) { matriz.push(N) }  }` `      return matriz;  }`
Mi aporte: ```js export function solution(num) { let arr = []; let count = 0; // El número de entrada debe ser mayor a 2. if (num > 2) { // Se generan numeros hasta el número de entrada. while (count <= num) { // Si es número primo se agrega al array. let priNum = (count === 2) || (count % 2 === 1 && count !== 1) ? arr.push(count) : count; // Se incrementa el contador. count++; } } else { // Si el número de entrada es menor a 2. arr.push("Entrada no válida"); } // Se retorna el array de numero primos. return arr; } ```
Mi solución con operador terneario ```js function solution(num){ let result = [] // Creamos un array vacio num = Math.floor(num) // Redondeamos el numero a un entero let count = num // Creamos una variable que contenga el numero ingresado let step = 0 // Creamos un contador de pasos para poder generar el array de resultados for(let i = 0; i < count-1; i++){ // Creamos un bucle for que se ejecutara el numero de veces que sea el numero ingresados (num % 2 !== 0 && num % 3 !== 0 || num === 2 || num === 3) // Valida si el numero no es divisible entre 2 y 3 o es igual a 2 o 3 ? result[step++] = num // Lo agregamos al array de resultados y subimos el contador de pasos : null // Dado que no requiere un else se agrega null num -- // Disminuimos el numero } return result.reverse() // Retornamos el array } ```function solution(num){    let result = \[] // Creamos un array vacio    num = Math.floor(num) // Redondeamos el numero a un entero    let count = num // Creamos una variable que contenga el numero ingresado     let step = 0 // Creamos un contador de pasos para poder generar el array de resultados     for(let i = 0; i < count-1; i++){ // Creamos un bucle for que se ejecutara el numero de veces que sea el numero ingresados                (num % 2 !== 0 && num % 3 !== 0 || num === 2 || num === 3) // Valida si el numero no es divisible entre 2 y 3 o es igual a 2 o 3            ? result\[step++] = num // Lo agregamos al array de resultados y subimos el contador de pasos            : null // Dado que no requiere un else se agrega null        num -- // Disminuimos el numero    }        return result.reverse() // Retornamos el array}
```js export function solution(num) { let res = []; if (num >= 2) { res.push(2); } for (let i = 3; i < parseInt(num) + 1; i++) { if (res.every(num => i % num !== 0)) { res.push(i); } } return res; } ```
export function solution(num) { // Tu código aquí 👈 let result = \[] for (let i = 1; i <= num; i++) { let counter = 0 for (let j = 1; j <= i; j++) { if (i % j == 0) { counter += 1 } } if (counter == 2) {result.push(i)} } return result
Dejo mi respues, cualquier duda no duden en comentar. Recuerden siempre comentar su código para que entienda paso a paso lo que se esta haciendo. ![](https://static.platzi.com/media/user_upload/image-ff729c07-3644-419b-80f6-eacda11cbf99.jpg) ![](https://static.platzi.com/media/user_upload/image-bee2bc88-0f78-49a3-9a1e-874b54b6cdae.jpg)
function esPrimo(num) { if (num < 2) { return false; } for (let i = 2; i <= Math.sqrt(num); i++) { if (num % i === 0) { return false; } } return true; } function numerosPrimos(n) { let primos = \[]; for (let i = 2; i <= n; i++) { if (esPrimo(i)) { primos.push(i); } } return primos; }
Bueno hasta ahora este curso me ha servido, para confrmar que no se nada de esto... tedré que volver por aquí cuando avance en otros cursos... y ya hice los cursos previos de esta ruta...pero no estoy en capacidad de responder.
let numerosPrimos = num => {    let arrPrimos = \[]    for (let i = 2; i <= num; i++) {        let esPrimo = true        for(let j = 2; j < i; j++){            if (i % j == 0 && i % j != i) {                esPrimo = false            }        }        if (esPrimo) {            arrPrimos.push(i)        }    }    return arrPrimos} console.log(numerosPrimos(41));
Les dejo mi solución en Python ```js def entregar_tabla(numero): resultado = [] if numero == 1: return resultado for comparador in range(numero): if es_primo(comparador): resultado.append(comparador) return(resultado) def es_primo(numero): resultado = True if numero == 2: return resultado for comparador in range(2,numero): if numero % comparador == 0: resultado = False break return resultado print(entregar_tabla(100)) ```def entregar\_tabla(numero):    resultado = \[]    if numero == 1:        return resultado    for comparador in range(numero):        if es\_primo(comparador):            resultado.append(comparador)    return(resultado) def es\_primo(numero):    resultado = True    if numero == 2:        return resultado    for comparador in range(2,numero):        if numero % comparador == 0:            resultado = False            break    return resultado print(entregar\_tabla(100))
Mi solucion ![](https://static.platzi.com/media/user_upload/carbon-6c5ffc98-6561-4744-a22c-73b585cedee4.jpg)
Mi solución: ```js export function solution(num) { let x = []; for (let i = 2; i <= num; i++) { let enc = true; for (let j = 2; j * j <= i; j++) { if (i % j == 0) { enc = false; break; } } if (enc) x.push(i); } return x; } ``` Sabemos que un número primo es aquel que solo tiene dos divisores: 1 y el número mismo (N). Para verificar si un número es primo, basta con buscar divisores que sean mayores que 1 y menores que N. Si encontramos alguno, entonces el número no es primo. Además, para hacer el proceso más eficiente, solo necesitamos buscar divisores hasta la raíz cuadrada de N. Esto se debe a que cualquier factor de N mayor que su raíz cuadrada ya habría sido detectado como un factor menor en una etapa anterior. Por lo tanto, si no encontramos ningún divisor hasta la raíz cuadrada de N el numero sera primo Espero haberme explicado : D
```js export function solution(num) { let arr = []; let arrTemp = []; for (let i = 2; i <= num; i++) { for (let j = 1; j <= i; j++) { i % j == 0 ? arrTemp.push(j) : null; } if (arrTemp.length <= 2) { arr.push(i); arrTemp = []; } else arrTemp = []; } return (arr); } ```
ublic class Main{ public static void main (String\[] args){ int\[] Numerosprimos ={2,3,4,5,7,11}; for ( int numero : Numerosprimos){ switch(numero){ case 2: case 3: case 5: case 4: case 7: case 11: System.out.println(numero+ "si es un numero primo"); break; default: System.out.println(numero+ "no es un numero primo"); break; } } } } me costo dos dias pero logre encontrar un metodo si me fune la cabeza también intento de dividir para dos los números pero quedaba un residuo y todos me daban primos ajjaaja en fin lets go
After many trials, around one month, finally I had to use ChatGPT and this was the most intuitive solution it gave to me. Thanks OpenAI ```js function solution(num) { let primes = []; // Check each number from 2 to num for (let i = 2; i <= num; i++) { let isPrime = true; // Check if i is divisible by any number from 2 to i-1 for (let j = 2; j < i; j++) { if (i % j === 0) { isPrime = false; break; // Exit the loop early if i is not prime } } // If i is prime, add it to the primes array if (isPrime) { primes.push(i); } } return primes; } ```
Hola linda comunidad de Platzi: Con el siguiente código, si lo aplican en js de manera directa, va ejecutarse de manera correcta. Yo he corrido todas las pruebas, y han salido satisfactorias. Si tienen alguna duda, no duden en consultarme estaré aquí para poder apoyarles. Por ende también podrán visualizar la cantidad de números primos hasta dicho punto. ```js let array1; function solution(num) { if(num === 0 || num ===1){ array1 = []; } else{ let array = []; array1 = []; let D = 1; let contador = {}; do{ D = D + 1; for(d = 1; d <=D; d++){ if( D%d === 0){ array.push(D); } } } while( D < num); array.forEach(function(elemento) { contador[elemento] = (contador[elemento] || 0) + 1; }); for(let elemento in contador) { if(contador[elemento] === 2) { array1.push(parseInt(elemento)); } } } } solution(1); console.log(array1); ```let array1; function solution(num) { if(num === 0 || num ===1){    array1 = \[];}else{let array = \[];array1 = \[];let D = 1;let contador = {}; do{    D = D + 1;    for(d = 1; d <=D; d++){        if( D%d === 0){            array.push(D);        }    }} while( D < num); array.forEach(function(elemento) {    contador\[elemento] = (contador\[elemento] || 0) + 1;  }); for(let elemento in contador) {    if(contador\[elemento] === 2) {        array1.push(parseInt(elemento));    }} }}solution(1);console.log(array1);

Mi solución JavaScript

function solution(num) {
  // Tu código aquí 👈
  let arr = []
  // Bucle que recorre los números del 2 hasta el número dado 'num'
  for (let i = 2; i <= num; i++){
    if (esprimo(i)) {//llama a la funcion esprimo para verifica si ' i ' es primo
      arr.push(i)
    }
  }

// función que verifica si un número es primo
  function esprimo(n) {
    if (n < 2) return false
    for (let i = 2; i <= n**0.5; i++) {
      if (n % i === 0) return false
    }
    return true
  }

  return arr
}

console.log(solution(5)) // [2, 3, 5]
Solución simple```js export function solution(num) { const valores = (num > 1)?[2]:[]; for (let i = 2; i <= num; i++) ((i % 2) != 0) && valores.push(i); return valores } ```export function solution(num) { const valores = (num > 1)?\[2]:\[]; for (let i = 2; i <= num; i++) ((i % 2) != 0) && valores.push(i); return valores }
````js export function solution(num) { let valores = (num > 1) ? [2] : []; for (let i = 2; i <= num; i++) ((i % 2) != 0) ? valores.push(i) : ''; return valores } solution(5) ```export function solution(num) {  let valores = (num > 1) ? \[2] : \[];  for (let i = 2; i <= num; i++)    ((i % 2) != 0) ? valores.push(i) : '';  return valores}solution(5) ````

Aqui mi solución:

function solution(num) {
  var primos = [];
  for(let i = 2; i <= num; i++){
    if(esPrimo(i))
        primos.push(i);
  }
  return primos;
}
//Un número primo es un número entero mayor que 1 
//que solo es divisible por 1 y por sí mismo.
function esPrimo(numero) {
  for (var i = 2; i < numero; i++) {
    if (numero % i === 0) {
      return false;
    }
  }
  return true
}
```js function esPrimo (num) { let suma = [] if (num === 1) { return suma } else if(num === 2) { return [2] } else if(num > 2) { suma.push(2) } for (let i = 3; i <= num; i++) { let conteo = 0 for (let j = 1; j <= i; j++){ if (i % j === 0){ conteo++ } } if (conteo === 2) { suma.push(i) } } return suma } let resultado = esPrimo(1) console.log(resultado); ```function esPrimo (num) {  let suma = \[]  if (num === 1) {    return suma  } else if(num === 2) {    return \[2]  } else if(num > 2) {    suma.push(2)  }  for (let i = 3; i <= num; i++) {    let conteo = 0    for (let j = 1; j <= i; j++){      if (i % j === 0){         conteo++      }    }      if (conteo === 2) {        suma.push(i)      }    }    return suma  } let resultado = esPrimo(1)console.log(resultado);

Mi solucion:

export function solution(num) {
  // Tu código aquí 👈
  var resultado = [];
    for (var i = 2; i <= num; i++){
      var band = 0;
      for (var j = 2; (j < i) && band==0; j++){
        if (i%j == 0) {
          band = 1;
        }
      }
      if (band == 0) {
        resultado.push(i);
      }
    }
    
  return resultado;
}
```js export function solution(num) { function esPrimo(n) { for (let i = 2; i <= Math.sqrt(n); i++) { if (n % i === 0) { return false; } } return n > 1; } const primos = []; for (let i = 2; i <= num; i++) { if (esPrimo(i)) { primos.push(i); } } return primos; } ```

Este ejercicio estuvo difícil.

function solution(num) {

    let resultado = []

    function numPrimo(n) {
        for (let i = 2; i <= Math.sqrt(n); i++) {
            if (n % i === 0) {
                return false
            }
        }
        return true
    }

    for (let i = 2; i < num; i++) {
        if (numPrimo(i)) {
            resultado.push(i)
        }
    }
    console.log(resultado.length)
}
Comparto mi humilde código :) ```js export function solution(num) { // Tu código aquí 👈 let resul = [] let pos = 0 let ja = 0 for (let i = num; i > 1; i--){ if ((i%2) == 1 || (i==2)) { resul[pos] = i; pos++; } } return resul } ```export function solution(num) {  // Tu código aquí 👈  let resul = \[]  let pos = 0  let ja = 0  for (let i = num; i > 1; i--){    if ((i%2) == 1 || (i==2)) {      resul\[pos] = i;      pos++;    }  }  return resul}
Mi solución: ```js export function solution(num) { let array = []; let isPrimo = 2; while (num >= isPrimo) { let contador = 0; for (let i = 1; i <= isPrimo; i++) { if (isPrimo % i === 0) { contador++; } } if (contador === 2) { array.push(isPrimo); } isPrimo++; } return array; } ```
```js function solution(num) { let res = 0; let ar = []; for (let i = 2; i <= num; i++) { for (let t = 1; t <= i; t++) { if (i % t == 0) { res++; } } if (res == 2) { ar.push(i); } res = 0; } return ar } ```

Costó su momento jsjs, lo estaba interpretando mal, pero aquí esta:

export function solution(num) {
  let allNumbers = []
  for (let i = 2; i <= num; i++) {
    allNumbers.push(i)
  }
  let primos = allNumbers.filter(isPrimo)
  return primos
}

function isPrimo(number) {
  let nDivisores = 0
  for (let n = 1; n <= number; n++) {
    if (number % n === 0) {
      nDivisores = nDivisores + 1
    }
  }
  if (nDivisores==2) {return number}
}

![](https://drive.google.com/file/d/1NWQmWDctk7bXWXou4TJeFUh537iQC8v7/view?usp=drive_link)VACILATELA MI LLAVE 🤠

Bueno Mi solución: (creo que funciona para todos los numeros pirmos)

export function solution(num) {
  let primos = [];

  for (let i = 2; i <= num; i++) {
    if (esPrimoInvalido(i)) {
      continue;
    }
    primos.push(i)
  }

  return primos;
}

function esPrimoInvalido(indice) {
  for (let i = 2; i < indice; i++) {
    if (indice % i === 0) {
      return true;
    }
  }
  return false;
}

Nota: si lo desean probar fuera del playground quitene la palabra "export"
Otra nota: si ven que lo pueden mejorar me avisan 👍

Mi solución fue esta ... ![](https://static.platzi.com/media/user_upload/image-c1dc3a3d-7f9b-4a6a-b353-9d21e89e0773.jpg)
C++ `#include <iostream>` `int primos[]{ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 };` `void f(int n) {` `int t{};` `int i{};` `bool bandera{ true };` `for (i; i < 11 && bandera; i++) {` `if (n > primos[i]) {}` `else if (n == primos[i]) {` `t = i;` `bandera = false;` `for (t; t >= 0; t--) {` `std::cout << primos[t];` `if (t != 0) std::cout << ", ";` `}` `}` `else {` `t = i;` `bandera = false;` `for (t; t >= 0; t--) {` `if (t == i) {` `std::cout << n << ", ";` `}` `else {` `std::cout << primos[t];` `if (t != 0) std::cout << ", ";` `}` `}` `}` `}` `}` `int main() {` `f(25);` `}` `>`
```js export function solution(num) { // Tu código aquí 👈 let result = []; function isPrimo(valor) { let primo = true; if (valor == 1) { primo = false; } else if ((valor == 2) || (valor == 3)) { primo = true; } else { let dividendo = Math.round(Math.sqrt(valor)) while (dividendo > 1) { if (valor % dividendo == 0) { primo = false; } dividendo -= 1; } } return primo; } for (let i = 1; i <= num; i++){ if (isPrimo(i)) { result.push(i); } } return result; } ```

Bueno esta es la solución que encontré. El bucle ciclo while se repite mientras “num” sea mayor a 1 (entonces recorre cada valor y “corta” en 1. Si (if) num es igual a 2 (que es el número primo mas pequeño) o (or) num es NO es divisible por 2 (si un número es divisible por cualquier otro número que no sea 1 o el mismo número, entonces no es primo, por lo cuál usé el 2 para detectar si es o no es primo). Si alguna de las dos condiciones anteriores se cumple, se agrega al array (arreglo.unshift(num)) Cabe aclarar que arreglo.unshift(num) agrega al array en orden viceversa al que va encontrando (así se respeta la arregla de que estén ordenados de menor a mayor). Y con “num–” va restando “1” en cada ciclo hasta terminarlo. Espero sirva mi aporte, lo saludos.

export function solution(num) {
const primes = [];

if (num >= 2) {
primes.push(2); // El número 2 es primo y es el único número par primo

for (let i = 3; i <= num; i += 2) {
  let isPrime = true;

  for (let j = 3; j * j <= i; j += 2) {
    if (i % j === 0) {
      isPrime = false;
      break;
    }
  }

  if (isPrime) {
    primes.push(i);
  }
}

}

return primes;

}

Script en Java

public class Code25 {

    public static void main(String[] args) {

        System.out.println(Arrays.toString(solution(30)));

    }

    public static boolean isPrime(int n) {
        if (n < 2) {
            return false;
        }
        for (int i = 2; i < n; i++) {
            if (n % i == 0) {
                return false;
            }
        }
        return true;
    }

    public static int[] solution(int n) {

        int[] prime = new int[n];
        int j = 0;

        for (int i = 2; i <= n; i++) {
            if (isPrime(i)) {
                prime[j] = i;
                j++;
            }
        }
        return prime;
    }

}

Hasta aquí hemos llegado. Me va a tocar ponerme a ver las clases para mejorar mi sintaxis. Tengo asimilado que esto sobrepasa mi lógica y necesito estudiar primero. Volveré

La solución es copiar la respuesta correcta , a veces solo hay q saber copiar una porción de código ajeno ajaja

.
.
.
.
.
.
.
.
.
.
.

function esPrimo(numero) {
  if (numero <= 1) {
    return false;
  }
  if (numero <= 3) {
    return true;
  }
  if (numero % 2 === 0 || numero % 3 === 0) {
    return false;
  }
  let i = 5;
  while (i * i <= numero) {
    if (numero % i === 0 || numero % (i + 2) === 0) {
      return false;
    }
    i += 6;
  }
  return true;
}

export function solution(numero) {
  const primos = [];
  for (let i = 2; i <= numero; i++) {
    if (esPrimo(i)) {
      primos.push(i);
    }
  }
  return primos;
}



Este ejercicio si que tenia su ma o me. La verdad me parece algo raro un cambio fuerte de golpe con lo que no deberia suceder. Bueno asi son las cosas de programacion a seguir.

export function solution(num) {
  // Tu código aquí 👈
  let lista = []

  if (num >= 2) {
    lista.push(2)
  }
  
  for (let i = 2; i <= num; i++) {
    if (i % 2 !== 0) {
      lista.push(i)
    }
  }
  console.log("Tu respuesta es : " + lista)
  return lista
}

solution(5)

mi solucion en JavaScript

export function solution(num) {
  let primos = []

  for (let i = 1; i <= num; i++){
    if (i == 1 || i % 2 == 0 && i !== 2 || i % 3 == 0 && i !== 3 || i % 5 == 0 && i !== 5 || i % 7 == 0 && i !== 7) {
      false
    } else {
      primos.push(i)
    }
  }
  return primos
}

Les comparto mi solucion:

if(num < 2) return [];
const nums = [2];

for (let numero = 3; numero <= num; numero+=2){
    let esPrimo = true;
    for (let i = 2; i <= Math.sqrt(numero); i++) {
      if (numero % i === 0) {
        esPrimo = false;
        break;
      }
    }
    if (esPrimo) {
        nums.push(numero);
    }
  return nums;
  }

Mi solución usando recursividad:

export function solution(num) {
  // Tu código aquí 👈

  let arrayPrimeNumbers = [];

  function findPrimeNumbers(number) {
    let counter = 0;
    if (number === 1) {
      return;
    } else if (number === 2) {
      arrayPrimeNumbers.unshift(number);
    } else if (!(number % 2 === 0)) {
      for (let i = 1; i <= number; i++){
        if (number % i === 0) {
          counter++;
        }
      }

      if (counter === 2) {
        arrayPrimeNumbers.unshift(number);  
      }
           
      findPrimeNumbers(number - 1);
    } else {
      findPrimeNumbers(number - 1);
    }
  }

  findPrimeNumbers(num);
  return arrayPrimeNumbers;
}


function esprimo(num){
  if (num <= 1) {  
    return false;
  } 

  if (num == 2) {
    return true;
  }
  
  for (let i = 2; i<num; i++){
    if (num%i === 0){
      return false;
    }else{
      return true;
    }
  }
}

function imprimirnumerosprimos(num){
  for (let i = 1; i <= num; i++){
    if (esprimo(i) == true){
      console.log(i)
    }
  }
}


imprimirnumerosprimos(2)

Con ayuda de internet y usando la logica

export function solution(num) {
  let arraymay = [];
  while (num > 1) {
    let band = true;
    if (num == 0 || num == 1 || num == 4) band = false;
    for (let x = 2; x < num; x++) {
      if (num % x == 0) { band = false; }
    }
    // Si no se pudo dividir por ninguno de los de arriba, sí es primo
    if (band == true) {
      arraymay.unshift(num);
    }
    num--;
  }
  return arraymay;
}

Mi solución es con un for dentro de otro for

export function solution(num) {
  let number = num
  let primo = []
  let count = 1
  if (number > 1) {
    primo[0] = 2
  }
  for (let n = 3; n <= number; n++) {

    for (let i = 3; i <= n; i++) {
      if ((n % i == 0) && ((n % 1 == 0) && (n % 2 != 0))) {
        primo[count] = n
        count++
      }
    }

  }
  return primo
export function solution(num) {
  // Tu código aquí 👈
  let result = []
  for (let i = 1; i <= num; i++) {
    let counter = 0
    for (let j = 1; j <= i; j++) {
      if (i % j == 0) {
        counter += 1
      }
    }
    if (counter == 2) {result.push(i)}
  }
  return result
}

Mi solución:

export function solution(num) {
  // Create an array filled with zeros
  const numbers = new Array(num + 2).fill(0)

  // Result
  const prime = []

  for (let i = 2; i <= num; i++) { 
    if (!numbers[i]) {
      prime.push(i)
      let pass = i
      do {
        numbers[pass] = 1
        pass += i
      } while (pass <= num)
    }
  }

  return prime
}

Mi aporte

Es la Criba de Eratóstenes, con complejidad O(n log log n)

export function solution(n) {
    let sieve = [], i, j, primes = [];
    for (i = 2; i <= n; ++i) {
        if (!sieve[i]) {
            primes.push(i);
            for (j = i * i; j <= n; j += i) {
                sieve[j] = true;
            }
        }
    }
    return primes;
}

Primero, creo el arreglo.
Luego, meto al arreglo el 2 en caso de que el número sea mayor o igual a 2.
Por ultimo, verifico que sea primo desde el 2 hasta el num.

export function solution(num) {
  // Tu código aquí 👈
  let result = []
  if (num >= 2) result.push(2);
  for (let i = 2; i <= num; i++){
    if (i % 2 !== 0) {
      result.push(i);
    }
  }
  return result;
}

aqui va la mia

function solution(num) {
  var resp = [];
  let isValid = true;
  if (num > 2) {
    for (let j = 2; j <= num; j++) {
      for (let i = 2; i <= (num / 2); i++) {
        if ((j != i) && j % i == 0) {
          isValid = false;
          break;
        }
      }
      if (isValid) {
        resp.push(j);
      }
      else {
        isValid = true;
      }
    }

  }
  else if(num == 2) {
    resp.push(2);
  }
  return resp;
}

Me demoré una hora haciendo esto, pero al menos lo hice:

export function solution(num) {
  // Tu código aquí 👈
  function isPrime(num) {
    if (num === 1 || num === 0) {
      return false;
    } else if (num === 2) {
      return true;
    }
    let p = 2;
    let bool = true;
    while (p > 1 && p < num) {
      if (num % p == 0) {
        bool = false;
      }
      p++;
    }
    return bool;
  }

  let n = num;
  const primos = [];

  for (let i = 0; i <= num; i++) {
    if (isPrime(n) == true) {
      primos.unshift(n);
    }
    console.log(`La n: ${n}`);
    n--;
  }
  return primos;
}

Mi solución
_
_
_
_
_

export function solution(num) {
  // Tu código aquí 👈
  const primos = [];
  for (let i = 2; i <= num; i++){
    if (i === 2 || i === 3 || i=== 5) primos.push(i);
    if (i % 2 === 1 && i % 3 !== 0 && i % 5 !== 0) primos.push(i);
  }
  return primos;
}

Mi solución

export function solution(num) {
  // Tu código aquí 👈
  let primos = [];
  let contador = 0;
  num = parseInt(num)
  while (num > 0) {
    if (num % 2 == 1 && num > 1) {
      primos.push(num);
    }
    else if (num == 2 && num > 1)
    {
      primos.push(num);
    }
    contador++
    num--
    if (contador > 4)
    {
      break
    }
  }
  primos.sort((a, b) => a - b)
  return primos
}

No suelo aportar, pero me gustó mi solución, se las dejo aquí.

function solution(num) {
    if (num === 1) return []
    let currentNumber = 2
    const primeNumbers = [];
    while (currentNumber <= num) {
        const isPrime = primeNumbers.every(primeNumber => currentNumber % primeNumber !== 0);
        if (isPrime) primeNumbers.push(currentNumber);
        currentNumber++;
    }
    return primeNumbers;
}

En vez de comprobar con todos los números anteriores al número actual lo comparo con los números primos calculados previamente, si es divisible entre alguno de los anteriores entonces no es primo, si no es divisible, entonces lo agrego a los números primos para comparar en los siguientes números

Mi solución:

export function solution(num) {
  let primeNumber = num;
  let primeNumbers = [];

  if ((primeNumber === 2 || primeNumber % 2 !== 0) && primeNumber !== 1) {
    primeNumbers.push(primeNumber);
    if (primeNumber === 2) {
      return primeNumbers;
    }

    while (primeNumber > 2) {
      if (primeNumber !== 2) {
        if (primeNumber === 3) {
          primeNumber = primeNumber - 1
        } else {
          primeNumber = primeNumber - 2;
        }
        if ((primeNumber % 2 !== 0 || primeNumber === 2) && primeNumber !== 1) {
          primeNumbers.push(primeNumber);
        }
      }
    }

    primeNumbers.sort(function (a, b) { return a - b });
    return primeNumbers;
  } else {
    return primeNumbers;
  }
}

Mi solución

function solution(num) {
    let primos = [];
    let rango = []
    for (let i = 0; i <= num; i++) {
        rango.push(i)
    }
    rango.forEach(element => {
        if (element == 0 || element == 1 || element == 4) {
            return false
        }
        for (let x = 2; x < element / 2; x++) {
            if (element % x == 0) return false;
        }
        primos.push(element)
    });
    console.log(primos);
}
solution(100)

mi aporte

export function solution(num) {
  let arr = []
  for (let i = 2; i <= num; i++) {
    if (prime(i)) {
      arr.push(i);
    }
  }
  return arr;
}

function prime(num) {
  for (let i = 2; i < num; i++) {
    if (num % i == 0) {
      return false;
    }
  }
  return true;
} 

me doy cuenta que para la lpgica matematica no es mi fuerte, lo mio es el ctrl+c ctrl+v

aquí mi aporte:

export function solution(num) {
  let primos = [];
  for (let i = 2; i <= num; i++) {
    let esPrimo = true;
    for (let j = 2; j <= i - 1; j++) {
      if (i % j == 0) {
        esPrimo = false;
        break;
      }
    }
    if (esPrimo) {
      primos.push(i);
    }
  }
  return(primos);
}

Ahí vamos:

function esPrimo(num) {
  if (num < 2 || num % 2 === 0 && num !== 2) {
    return false;
  }  
  //console.log(num);
  return true;
}

function numerosPrimos(num) {
  let Primos = [];
  for (let i = 2; i <= num; i++) {
    if (esPrimo(i)) {
      Primos.push(i);
    }
  }
  return Primos;
}

function solution(num) {
var primos = []
if (num >= 2) {
primos.push(2)
}
if (num >= 3) {
primos.push(3)
}
if (num >= 5) {
primos.push(5)
}
if (num >= 7) {
primos.push(7)
}
for (i=2;i<=num;i++){
if (i % 2 != 0 && i % 3 != 0 && i % 5 != 0 && i % 7 != 0) {
primos.push(i)
}
}
return(primos)
}

Holi!! mi solution 😃

export function solution(num) {

  let number = 0;
  let arrPrimos = [2];
  if (num <= 1) return [];
  if (num == 2) return arrPrimos;

  //check if the number is even
  if (num % 2 == 0) {

    number = num - 1;
    while (number > 2) {
      arrPrimos.push(number)
      number = number - 2;
    }

    return arrPrimos.sort((a, b) => (a - b));
  }

  // if the number is odd
  else {

    number = parseInt(num);
    while (number > 2) {
      arrPrimos.push(number)
      number = number - 2;
    }

    return arrPrimos.sort((a, b) => (a - b));
  }
}


solution(5);

No es necesario comparar todos los números previos al número ingresado, basta llegar hasta la raíz cuadrada de este, eso nos ahorra pasos en la solución.
Criba de Eratóstenes

Saludos!!! Este es mi aporte, una forma de resolverlos es a través de la recursividad, en este caso ocupe scheme de lenguaje, aclarando no devuelvo arreglo directamente sino imprimo con la recursividad los valores que voy validando primos hasta el imite que le pasamos:

export function solution(num) {
let result = [];
for (let a = 2; a <= num; a++) {
if (a % 2 == 1 || a == 2) result.push(a) ;
}
return result;
}

Mi solución

export function solution(num) {
let primos=[]
for (let i = 2; i <= num; i++){
let contador=2
for (let j = 2; j < i; j++){
if (i % j == 0) {
contador++
break
}
}
if (contador == 2) {
primos.push(i)
}
}
return primos

Lo hice en python, no se que lenguaje tiene esto para hacer la prueba:

const solution = (num) => {
  if(num == 1) return [];
  let prime = [2];
  for(let i = 3; i <= num; i += 2) if(!prime.find(n => i % n == 0)) prime.push(i);
  return prime;
}
function solution(num) {
  let res = [];
  for (let i = 2; i <= num; i++) {
    primo(i) ? res.push(i) : null;
  }
return res;
}

function primo(numero) {
  for (let i = 2; i < numero; i++) {
    if (numero % i === 0) {
      return false;
    }
  }
  return numero !== 1;
}

My solution was:

export function solution(num) {
  const animals = [];
  let resp = 2;
  while (num >= resp) {
    if (resp % 2 != 0 || resp == 2) {
      console.log(resp)
      animals.push(resp);
    } resp++;
  }
  return animals;
}

Les comparto mi solución.

export function solution(num) {
  let result = [];
  for (let e = 2; e <= num; e++) {
    if (e % 2 == 1 || e == 2) result.push(e);
  }
  return result;
}

sale amigos, aquí el mío, creo que aun tardo en hacerlos pero creo que no estaba bien familiarizado con prime numbers jojo esta demasiado interesante la historia de esos numeritos, me gustaron la verdad 😊

<code> 
export function solution(num) {
  let count = 2
  const  primeNum = []
  if (num != 1){
    while (count <= num) {
      if (count == 2 || count == 3 || count == 5) {
        primeNum.push(count)
        count++
      } else if (count % 2 == 0 || count % 3 == 0 || count % 5 == 0) {
        count++
      } else {
        primeNum.push(count)
        count++
      }
    }
  }
  return primeNum
}

hola yo lo hice con Python que es donde mejor me va, pero aun así me costo bastante hacerlo y entenderlo

def encontrar_primos(n):
    primos = []
    for num in range(2, n+1):
        es_primo = True
        print('-----',num)
        for i in range(2,num):
          print ('<<<', i)
          print(num)
          if (num % i) == 0:
                es_primo = False
                print('.....' ,num)
                break
        if es_primo:
            primos.append(num)
    return primos

print(encontrar_primos(21))
export function solution(num) {
  
  let numPrimos = [];

  function esPrimo(numero) {

    if (numero === 0 || numero === 1 || numero === 4)
      return (false);
    for (let x = 2; x < numero / 2; x++) {
      if (numero % x === 0)
        return (false);
    }
    return (true);
  }

  for (let x = 0; x <= num; x++){

    let dato = esPrimo(x);

    if (dato === true)
      numPrimos.push(x);
  
  }

  return (numPrimos);

}

Mi solución

export function solution(num) {
  let primeNumbers = [];
  for (let i = 1; i <= num; i++) {
    let divisorCounter = 0;
    for (let j = 1; j <= i; j++) {
      if (i % j === 0) {
        divisorCounter++;
      }
    }
    if (divisorCounter === 2) {
      primeNumbers.push(i);
    }
  }
  return primeNumbers;
}

Así me quedó mi código:
_____________________________________-

Encontre otra solucion, pero con ternarios:

 let primos = [];
  for (let i = 2; i <= num; i++) {
    let contador = 0;
    for (let j = 1; j <= i; j++) {
      i % j === 0 ? contador++ : null;
    }
    contador === 2 ? primos.push(i) : null;
  }
  return primos;
export function solution(num) {
  // Tu código aquí 👈
  let primos = [];
  for (let i = 2; i <= num; i++) {
    let contador = 0;
    for (let j = 1; j <= i; j++) {
      if (i % j === 0) {
        contador++;
      }
    }
    if (contador === 2) {
      primos.push(i);
    }
  }
  return primos;
}

Other solution:

export function solution(num) {
  function isPrime(n) {
    if (n <= 1) {
      return false;
    }
    for (let i = 2; i < n; i++) {
      if (n % i === 0) {
        return false;
      }
    }
    return true;
  }

  const nums = [];
  for (let i = 1; i <= num; i++) {
    if (isPrime(i)) {
      nums.push(i);
    }
  }
  return nums;
}

Mi solución en Python

# Imprimir una lista de números primos menores o iguale a un número dado

def solution(maxNumber):
  
  if maxNumber >= 2: # El 2 es el unico número par primo que tiene excepción
    
    primos = [2]
    divisores = []
    modules = []

    #Obtenemos una lista de números divisores para despues obtener el módulo
    for divisor in range(2, maxNumber):
      divisores.append(divisor)
    #print("Divisores: ", divisores)
    #print(" ")

    #Hacemos un ciclo para evaluar número por número del 3 al límite
    for numToEvaluate in range(3,maxNumber+1):
      #print("-"*30)
      #print("Número a evaluar:", numToEvaluate)
      #print("-"*30)

      for divisor in divisores:
        #print("Divisor a probar: ", divisor)
        if numToEvaluate > divisor:
          modules.append(numToEvaluate % divisor)
          #print(numToEvaluate, "%", divisor, "=", modules[-1])
          #print("Modules:", modules)
          #print("-"*30)

      if not 0 in modules:
       # print(numToEvaluate, "Es un número primo")
        primos.append(numToEvaluate)
      
      modules.clear()
     
  return primos


print("***** BUSCADOR DE NÚMEROS PRIMOS *****")
limit = input("Ingrese un número > 1 que defina el final de rango ->   ")

if not limit.isdigit() or int(limit) <= 1:
  print("Invalid Option, Try again!")
else:
  print(" ")
  print("Los números primos dentro del rango son: ", solution(int(limit)))
undefined