Mostrar los números primos desde 2 hasta N en C++

Programa C++ que genera la lista de los números primos desde 2 hasta N.
El programa pide que se introduzca por teclado el valor de N que debe ser mayor o igual a 2 y se mostrará por pantalla los números primos desde 2 hasta el valor de N.
Por ejemplo si N = 10 el programa mostrará la siguiente lista de números primos: 2, 3, 5, 7
/*
 * Programa C++
 * Números primos desde 2 hasta N
 */
#include <iostream>
using namespace std;
int main()
{
    //declaración de variables
    int N, i, j;
	
    //leer por teclado un número >= 2
    do
    {
        cout << "\nIntroduce un numero: ";
        cin >> N;
    }while(N<=1);
	
    //bucle for para calcular los números primos desde 2 hasta el número N introducido                            
    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)           // dividimos el número entre sus divisores hasta que alguno de como resto 0   
                  i++;
            
            // si al terminar el while el divisor (i) es igual al propio número (j)
            // significa que el resto de la división ha dado cero porque se ha dividido
            // por el propio número entonces el número es primo
            if(i==j)                
               cout << j << " ";   // se muestra el número primo
       
    }
    system("pause");
}

No hay comentarios:

Publicar un comentario