Lista de números primos desde 2 hasta N
Programa que muestra los números primos desde 2 hasta N. El valor de N se introduce por teclado.
Solución:
Este ejercicio lo podemos resolver utilizando dos bucles anidados.
El bucle exterior será un bucle for cuyos valores irán desde 2 hasta N. Estos valores son los números que vamos a comprobar si son primos o no.
Para cada uno de estos valores determinaremos si son primos o no mediante un bucle while. Puedes ver la explicación de cómo calcular si un número es primo en esta entrada del blog: número primo en java.
/*
* Programa que genera la lista de los N primeros números primos,
* siendo N el dato de entrada.
*/
import java.util.Scanner;
public class ListadoNumerosPrimos {
public static void main(String[] args) {
int N, i, j;
Scanner sc = new Scanner(System.in);
do {
System.out.print("Introduce un numero > 0: ");
N = sc.nextInt();
} while (N <= 0);
System.out.println("Números primos desde 1 hasta " + N);
for (j = 2; j <= N; j++) { // j es el número que se comprueba si es primo
i = 2; // i son los divisores
while (j % i != 0) {
i++;
}
if (i == j) { // si se ha dividido por el propio número entonces es primo
System.out.println(j);
}
}
}
}
Mírate este:
ResponderEliminarScanner sc = new Scanner(System.in);
System.out.println("Introduce un número");
int num = sc.nextInt();
int contador = 0;
for (int i = 1; i <= num; i++)
{
for (int j = 1; j <= i; j++)
{
if (i % j == 0)
{
contador++;
}
}
if (contador == 2)
{
System.out.println("El número " + i + " es primo.");
} else
{
System.out.println("El número " + i + " no es primo.");
}
contador = 0;
}
Muchas gracias por el programa es realmente bueno.
ResponderEliminar