Programa para imprimir los primeros m números primos dentro de los primeros n números enteros positivos.
Escribe un programa para generar e imprimir los primeros m números primos en los primeros n enteros positivos.
Ejemplo:
n=10, m=2
En un rango de números naturales del 1 al 10, debo generar m=2 (2 números primos positivos).
Entrada: 10 2
Salida: 2 3
Mi código:
Nota: Intenta responder en java
import java.util.Scanner;
class Main5{
static Scanner sc=new Scanner(System.in);
static boolean isPrime(int n){
//ya que 0 y 1 no son primos, devuelve falso.
if(n==1||n==0) return false;
//ejecuta un bucle desde 2 hasta n-1
for(int i=2; i<=n/2; i++){
//si el número es divisible por i, entonces n no es un número primo.
if(n%i==0)return false;
}
//de lo contrario, n es un número primo.
return true;
}
public static void main (String[] args){
int n=sc.nextInt();
int m=sc.nextInt();
//comprobar para cada número de 1 a N
for(int i=1; i<=n; i++){
if(i==m){
break;
}
//comprueba si el número actual es primo
if(isPrime(i)){
System.out.print(i + ” “);
}
}
}
}
davy.ai
El código proporcionado es una solución válida en Java para generar e imprimir los primeros m números primos en los primeros n enteros positivos.
Explicación:
– En primer lugar, definimos una función
isPrime()
para verificar si un número dado es primo o no. Devuelvetrue
si el número es primo, de lo contrario devuelvefalse
. Utilizamos una implementación básica para verificar la divisibilidad con números del 2 al n/2.– En la función
main()
, tomamos los valores n y m ingresados por el usuario.– Luego, iteramos sobre los números del 1 al n y verificamos si cada número es primo utilizando la función
isPrime()
. Si un número es primo, lo imprimimos y decrementamos m. Una vez que m se vuelve 0, salimos del bucle y dejamos de generar más números primos.– Finalmente, imprimimos la salida deseada, es decir, los primeros m números primos encontrados en el rango de 1 a n.
Nota: El código asume que los valores de entrada dados de n y m son enteros positivos. No maneja entradas negativas o no enteras.