3

#PlatziCodingChallenge - Números primos

14. Números primos

Escribe un programa al que le indiques un número cómo límite y determinará todos los números primos desde el 1 hasta el número límite ingresado.
Recuerda que los números primos tienen las siguientes características:

  • Es un número natural entero mayor a 1.
  • Tiene únicamente 2 divisores: el mismo número y el 1.

Reglas del reto

Escribe tu comentario
+ 2
Ordenar por:
2
19943Puntos

Números primos en Python y en JavaScript:

# Números primos en PythondefisPrime(number):for divider in range(2, int(number**.5) + 1):
        if(number % divider == 0):
            returnFalsereturnTruedefprimeNumbers(limit):
    primes = []
    for number in range(2, limit + 1):
        if isPrime(number): primes.append(number)
    return primes

#Asking for the limit
n = int(input("¿Hasta qué número quiere saber los primos? "))
while(n < 2):
    print('Debe poner un número mayor o igual que 2')
    n = int(input("¿Hasta qué número quiere saber los primos? "))

#Printing the result
print(primeNumbers(n))
//Números primos en JSfunctionisPrime(number){
    for (let divider = 2; divider < Math.floor(Math.sqrt(number)) + 1; divider++) {
        if (number % divider == 0) {
            returnfalse
        }
    }
    returntrue
}

functionprimeNumbers(limit){
    let primes = []
    for (letnumber = 2; number <= limit; number++) {
        if (isPrime(number)) {
            primes.push(number)
        }
    }
    return primes
}

do {
    var limite = parseInt(prompt('¿Hasta qué número quiere saber los primos?'))
    if (limite < 2) alert('Debe introducir un número igual o mayor que 2')
} while (limite < 2)

alert(`Números primos menores que ${limite}: ${primeNumbers(limite)}`)
1
26494Puntos

Python 🐍😄:

defcalcular_primos(numero_max):"""
    Calcula una serie de números primos hasta el número máximo indicado.

    Parámetros:
    numero max int > 0

    Retorna:
    Lista con serie de numeros primos
    """
    numeros = [num for num in range(numero_max + 1)]
    primos = []

    for num in numeros:
        primo = is_primo(num)
        if primo:
            primos.append(num)                
    
    return primos


defis_primo(numero):"""Recibe un número entero y determina si es primo

    Parámetros:
    numero int > 0

    retorna:
    True or False"""if numero < 2:
        returnFalseelif numero == 2:
        returnTrueelif numero > 2and numero % 2 == 0:
        returnFalseelse: 
        for i in range(3, numero):
            if numero % i == 0:
                returnFalsereturnTruedefmain():
    print('\nEscribe un número para listar todos los números primos hasta ese número.')
    limite = int(input('\nIngresa el número máximo: '))
    numeros_primos = calcular_primos(limite)
    print(f'\nNúmeros primos del 1 hasta el {limite}:')
    for numero in numeros_primos:
        print(numero)


if __name__ == "__main__":
    main()
1
14394Puntos

Probando con POO en JS!

class PrimeNumbers {
  constructor(limit) {
    this.limit = limit;
  }

  calculator() {
    letresult = [2, 3];
    let entryNumber = this.limit;
    for (let i = 4; i <= entryNumber; i++) {
      if (i % 2 != 0 && i % 3 != 0 && i % 5 != 0 && i % 7 != 0) {
        result.push(i);
      } elseif (i == 5 || i == 7) {
        result.push(i);
      }
    }
    console.log(result);
  }
}

let limit = parseInt(prompt("Ingresa un número como limite: "));

let newNumero = new PrimeNumbers(limit);
newNumero.calculator();

1

En Python 😃
El 1 no es primo ni compuesto de todos modos se imprime el uno o no se puede eliminar esa linea de codigo por lo demas imprimie todos los primos hasta el limite determinado

limite=int(input('Ingresa un número y te diremos que numeros primos hay hasta ese numero: '))
if limite > 0:
    print(1)
    for i inrange(1,limite+1):
        cont=0
        for j inrange(1,i+1):
            resto=i%jif resto==0:
                cont=cont+1
            else:
                pass
        if cont==2:
            print(i)
else:
    print('Lo siento ingresa un numero natural ')```
1
10710Puntos
defprime_numbers(max_number):
    primes = []
    for number in range(1, max_number):
        for valid in range(2, (max_number // 2) + 1):
            ifnot number % valid and number != valid:
                breakelse:
            primes.append(number)

    return primes

defmain():
    print("Primer Numbers".center(50))
    print("*" * 50)

    whileTrue:
        try:
            max_number = int(input("Max number: "))
        except:
            print("There was an error")
        else:
            if max_number >= 1:
                breakelse:
                print("Number must be greater than 0")

    numbers = prime_numbers(max_number)
    print(*numbers, sep="\n")

if __name__ == "__main__":
    main()
1
2345Puntos

Números primos en JS

const NUM = 100;

if(NUM === 1){
    console.log('El número 1, por convenio, no se considera ni primo ni compuesto')
}elseif (NUM <= 0){
    console.log('Los números primos son numeros naturales enteros mayores a 1')
}else{
    console.log(`Los números primos de ${NUM} son: ${numPrimos(NUM).join()}`)
}
/*La funcion se define considerando que el número 1, por convenio, 
no se considera ni primo ni compuesto, por lo tanto, se excluye.*/functionnumPrimos(n){
    let primos = [];
    let j = 0;
    for(let i = 2; i <= n; i++){
        if((n % i) === 0){ 
            primos[j] = i;
            j++;
        }     
    }
    return primos;
}

Resultados:
Los números primos de 5 son: 5
Los números primos de 15 son: 3,5,15
Los números primos de 30 son: 2,3,5,6,10,15,30
Los números primos de 50 son: 2,5,10,25,50
Los números primos de 100 son: 2,4,5,10,20,25,50,100

1

En Python:

""" Programa que recibe un número como límite y determina todos los números primos desde el 1 hasta el número límite ingresado.
Program that receives a number as a limit and determines all prime numbers from 1 to the limit number entered. """defprime_numbers(number):
    primes_list = [2]
    if number == 2:
        return primes_list
    else:
        for number in range(3, number+1):
            for i in range(2, round(number/2)+1):
                count = 0if number % i == 0:
                    count = 1breakif count == 0:
                primes_list.append(number)    
        total_primes = len(primes_list)
        return primes_list, total_primes

if __name__ == "__main__":
    number_str = input('Please insert a number: ')
    whilenot number_str.isdigit():
        number_str = input('Unvalid entry. Please insert a number: ')
    number = int(number_str)
    while number <= 1:
        number = input('Unvalid entry. Please insert a number: ')
    returned = prime_numbers(number)
    prime_numbers = returned[0]
    total_primes = returned[1]
    print('There is {} prime numbers until your given number.\nPrime numbers until {} are: {}' .format(total_primes, number, prime_numbers))
1
6327Puntos

Números primos en Java ☕️ ☕️ 😃

public class NumerosPrimos {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);System.out.println("Ingresa un número como límite:");int numero = scanner.nextInt();
        Integer[] arrayPrimos = {2, 3, 5, 7, 11}; //2 3 5 7 11int contadorPrimos = 0;for (int i = 2; i <= numero; i++) {if (i % 2 == 0 || i % 3 == 0 || i % 5 == 0 || i % 7 == 0 || i % 11 == 0) {
                if (Arrays.asList(arrayPrimos).contains(i)) {
                    contadorPrimos += 1;
                }
            } else { //Es Primo
                contadorPrimos += 1;
            }
        }
        System.out.println("Entre 1 y " + numero + " hay " + contadorPrimos + " números primos");
    }
}

Resultado de la ejecución:

1

Javascript

const input = prompt('Ingresa un numero para conocer sus numeros primos: ')
 
function numerosPrimos(input) {
    for (var limit = 1; limit <= input; limit++) {
        var control = false;for (var i = 2; i <= limit; i++) {if (limit%i===0 && i!==limit) {
              control = true;
           }
        }
        if (control === false) {
           document.write("<br>"+limit);
        }
     }
}

numerosPrimos(input)
1

Javascript

 
function numerosPrimos(input) {
    for (var limit = 1; limit <= input; limit++) {
        var control = false;for (var i = 2; i <= limit; i++) {if (limit%i===0 && i!==limit) {
              control = true;
           }
        }
        if (control === false) {
           document.write("<br>"+limit);
        }
     }
}

numerosPrimos(input)
1
13595Puntos

Codigo en JS

function numerosPrimos(numero) {
  let cont = 0;for (let i = 1; i <= numero; i++) {if (i <= 3) {
      cont++;
    } elseif (i % 2 !== 0 && i % 3 !== 0) {
      cont++;
    }
  }

  return cont;
}
1
7078Puntos
defvalidarPrimo(num):for div in range(2, int(num**.5) + 1):
      if(num % div == 0):
        returnFalsereturnTruedefnumeroPrimo(limite):
    pri = []
    for i in range(2, limite + 1):
        if validarPrimo(i): pri.append(i)
    return pri

cantidad = int( input("Introduzca hasta que numero deseas verificar si es primo o no: ") )
while(cantidad <= 2):
    print('Debe poner un número mayor o igual que 2')
    cantidad = int( input("Introduzca hasta que numero deseas verificar si es primo o no: ") )

print(numeroPrimo(cantidad))
1
4372Puntos

PYTHON
Usando el algoritmo “La Criba de Eratóstenes”

defCriba(p):#Solo los numeros impares
    numbers = [i for i in range(2,p) if i%2 != 0]
    numbers.append(2)

    ini = numbers[0]
    while ini**2 < p:
        if ini in numbers:
            #De la lista que queda se vuelve a buscar solo los no divisores del primer numero de la lista ejm:# [3,5,7,9,2]# se genera otra lista con los no divisores de 3# [5,7,2]# y luego se agrega ese divisor
            numbers = [i for i in numbers if i%ini != 0]
            numbers.append(ini)
        ini += 1return numbers 

if __name__ == "__main__":
    print("""
        CONTEO NUMEROS PRIMOS in Python
    ---------------------------------------
    """)
    p = int(input('Choose a number : '))
    numbers = Criba(p)
    print(f'Conteo de Numeros Primos menores a {p} : {len(numbers)}')
primos.png
1
4373Puntos
function getCousinNum(numLimite){
    let cousinNumbers = [];
    
    cousinNumbers.push(2);for(let i = 3; i < numLimite + 1; i += 1){
        let contador = 0;for(let j = 2; j < numLimite + 1; j += 1){if(contador > 1 || j > i){
                break;
            }
            else{
                if(i%j){
                    continue;
                }
                else {
                    contador+=1;
                }
            }
        }
        if(contador === 1){
            cousinNumbers.push(i);
        }
    }

    return console.table(cousinNumbers);

}




getCousinNum(50);```
1
7689Puntos

Solución:

<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Calculadora de Propina</title></head><style>
  * {
    margin: 0;
  }

  .contenedor {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
  }

  .section {
    padding: 0.25rem2rem;
  }

  .inputs {
    display: inherit;
    align-items: center;
    padding: 2rem;
  }

  .btn {
    border: 2px solid black;
    border-radius: 6px;
    cursor: pointer;
  }

  #contra {
    padding: 020px;
    width: 95%;
  }
</style><body><divclass="contenedor"><h1style="margin-bottom: 24px;">Número primos</h1><divclass="inputs"><sectionclass="section">
        Ingresa el límite para la impresión de datos <inputid="limite"/></section></div><buttononclick="escribe()"class="btn">Mostrar...</button><divstyle="margin-top: 24px;"id="resultado"></div></div><script>functionescribe() {
      const limite = document.getElementById('limite').value

      let numeros = []
      for (let i = 2; i <= limite; i++){
        if (primo(i)){
          numeros.push(i)
        }
      }

      functionprimo(numero) {
        for (let x = 2; x < numero; x++){
          if (numero % x === 0){
            returnfalse
          }
        }
        return numero !== 1
      }
      
      document.getElementById('resultado').innerHTML = numeros
    }
  </script></body></html>
1
8040Puntos
<
let cont = 1; //variable que recorre los números desde el #1 hasta numberlet cont2 = 0; //variable que indica si la variable cont es primo o nolet flag = 0;
let number = parseInt(prompt("Choose number"));
while (cont <= number) {
  //while number is biger or equal than cont aggregates 1 to contwhile (cont2 < cont) {
    //cont is biger than cont2 aggregate 1 to cont2if (cont % cont2 == 0 && cont2 !== 1 && cont2 !== cont) {
      flag = 1;
    }
    cont2++;
  }
  if (flag === 0) {
    console.log(`${cont2}  `);
  } else {
    flag = 0;
  }
  cont++;
  cont2 = 0;
}
>

![Captura de pantalla (65).png](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%20%2865%29-4f130194-aa6d-4154-9c05-340a5dad2ead.jpg)
1
5819Puntos

Python

defnum_primos():
    print()
    num_rango = int(input('Ingrese un numero: '))

    if num_rango > 0:
        for i in range(2, num_rango):
            contador = 2
            num_primo = Truewhile num_primo and contador < i:
                if i % contador == 0:
                    num_primo = Falseelse:
                    contador += 1if num_primo:
                print(i)

    print()
    print(f'Los anteriores son numeros primos del rango de {num_rango}')


if __name__ == '__main__':
    print('Numeros Primos')
    num_primos()
1
8870Puntos

Java

import java.util.ArrayList;
import java.util.Scanner;

public class NumerosPrimos {
    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);int limite;System.out.println("Dame el numero limite desde donde quieres obtener los numeros que son primos");
        limite=sc.nextInt();int [] numeros= new int[limite-1];
        ArrayList<Integer> Primos = new ArrayList<Integer>();for(int i=0; i<numeros.length; i++){
            numeros[i]=i+2;
        }
        for (int elemento:numeros) {
            boolean isPrime=true;for(int i=2; i<elemento;i++){if((elemento%i)==0){
                    isPrime=false;
                }
            }
            if(isPrime==true){
                Primos.add(elemento);
            }
        }
        for(int elemento:Primos){
            System.out.println(elemento);
        }
    }
}
1
9579Puntos

lista de primos python


def get_primes(n):
    primes = [2] #Lista de primos, Primer primo = 2 
    
    fortestinrange(2,n+1):# probando numeros de 2 a nfor prime in primes:   #checando sin son divisibles entre algun numero dela lista de primos
            iftest%prime==0:
                break
            elif prime == primes[len(primes)-1]: #si llego al final dela lista y no ha sido divisible lo añade a la lista de primos
                primes.append(test)
    print(primes)

if __name__ == "__main__":
    #n = int(input("hasta que numero quieres buscar primos?: "))
    n =1000
    get_primes(n)
1
3503Puntos
let elegido=100;
let numeros_primos=[];

for (let i=2;i<elegido;i++) {
    for(let j=2; j<elegido;j++){
        let numero=(i/j);
        if(esEntero(numero)===true && i!=j){
            j=elegido;
        }elseif(esEntero(numero)==false && i!=j){
            j=j;
        }else{
            numeros_primos.push(i)
            j=elegido;
        }
    }
}

console.log(numeros_primos);

functionesEntero(numero){
    if (numero - Math.floor(numero) == 0) {
        returntrue;
    } else {
        returnfalse;
    }
}
1
12398Puntos

No sé qué pasó pero mi lista de número primos no me funcionó, por lo que busqué ayuda y obtuve lo siguiente:

defes_primo(numero):if numero < 2:
    returnFalsefor i in range(2, numero):
    if numero % i == 0:
      returnFalsereturnTruedeflista_numeros_primos(limite):
  contador = 0
  i = 0while contador < limite:
    i += 1if es_primo(i):
      contador += 1
      print(i)


defrun():
  print(" == Listado de número primos == ")
  limite = int(input('Ingresa el límite de números primos: '))
  lista_numeros_primos(limite)

if __name__ == '__main__':
  run()