Mostrar los números primos desde 2 hasta N

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);
            }
        }
    }
}

2 comentarios:

  1. Mírate este:
    Scanner 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;
    }

    ResponderEliminar