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.
# 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)}`)
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()
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();
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 ')```
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()
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
""" 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))
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)
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))
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)}')
<
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;
}
>

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()
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);
}
}
}
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)
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()
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)}`)
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()
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();
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 ')```
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()
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
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))
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:

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)
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)
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; }
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))
#PatziCodingChallenge Día 14 - Solución al reto con JavaScript
https://github.com/pahoalapizco/PlatziCodingChallenge/tree/day14#Día-14
** Código **

** Resultado **

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)}')
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);```
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>
< 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; } > 
El repo con el código en JS, C y C++.
https://github.com/ceporro/PlatziCodingChallenge
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()
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); } } }
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)
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; } }
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()
Python:
Result:
Listo 😎
Reto 14: Números primos
Repositorio del reto: PlatziCodingChallengeRepo
GitHub pages: PlatziCodingChallengePages