// Programación en C++ para Ingenieros, Ed. Thomson Paraninfo, 2006 // Capitulo 6: Tipos Estructurados // Programa que escribe los números primos comprendidos entre 2 y 99 // aplicando el algoritmo de Eratóstenes. #include<iostream> #include <string> using namespace std; // Definición de constantes const int N = 100; // Programa principal int main() { // Declaración de variables int Eras[N]; // Tabla cuyas componentes valen 0 si el índice correspondiente // no es un número primo o 1 en otro caso int i,j; // Contadores de los índices // Inicializamos la tabla Eras con valores a 1 for ( i = 0; i < N; i++ ) Eras[i] = 1; // Ponemos a 0 los índices correspondientes a los no primos // Al no haber múltiplos de i mayores que N/2 y menores que N // ponemos la condición "i < N/2" en lugar de "i < N" for ( i = 2; i < N/2; i++ ) // Ponemos a 0 los múltiplos del número primo encontrado i // {PRE: i es un número primo} if ( Eras[i] == 1 ) for ( j = 2 * i; j < N; j = j + i ) Eras[j] = 0; // Escribimos los primos (índices con el valor 1) for ( i = 2; i < N; i++ ) if ( Eras[i] == 1 ) cout << i << " "; cout << endl; return 0; }