Programa Que Muestre Los Numeros Primos Del 1 Al 100
Analicemos cómo abordar este problema de encontrar números primos del 1 al 100. El primer paso es comprender qué es un número primo. Es un número natural mayor que 1 que solo es divisible por 1 y por sí mismo.
Comencemos con la identificación de supuestos. Asumimos que conocemos el rango (1 al 100). También que entendemos las operaciones básicas de división y el concepto de residuo.
Opciones para la solución
Existen varias estrategias para identificar números primos. Una opción sencilla es la prueba de división directa. Otra es el uso del tamiz de Eratóstenes, un algoritmo más eficiente para encontrar todos los números primos hasta un límite dado.
La prueba de división directa implica probar la divisibilidad de cada número dentro del rango por todos los números menores que él. Si ningún número lo divide uniformemente (residuo cero), entonces es primo. Esta opción es conceptualmente fácil de entender.
El tamiz de Eratóstenes funciona de manera diferente. Comienza con una lista de todos los números del 2 al 100. Luego, marca como "no primo" todos los múltiplos de 2, comenzando por 4. Después, encuentra el siguiente número no marcado (que es 3) y marca todos sus múltiplos como "no primo". Repite este proceso hasta que hayas llegado a la raíz cuadrada de 100 (que es 10).
¿Cuál es la mejor opción? Para un rango relativamente pequeño como 1 al 100, la diferencia en rendimiento entre las dos opciones no es significativa. Sin embargo, para rangos más grandes, el tamiz de Eratóstenes es mucho más eficiente.
Desarrollo del algoritmo (Prueba de División Directa)
Para implementar la prueba de división directa, necesitamos un bucle para iterar a través de los números del 2 al 100. Dentro de este bucle, necesitamos otro bucle para verificar si el número actual es divisible por algún número menor que él (pero mayor que 1).
Aquí hay un esbozo del algoritmo:
- Para cada número `n` desde 2 hasta 100:
- Asumir que `n` es primo (inicializar una variable es_primo a verdadero).
- Para cada número `i` desde 2 hasta `n-1`:
- Si `n` es divisible por `i` (el residuo de `n / i` es 0):
- `n` no es primo (establecer es_primo a falso).
- Romper el bucle interno.
- Si es_primo es verdadero:
- Imprimir `n`.
Implementación del algoritmo (Tamiz de Eratóstenes)
Para implementar el tamiz de Eratóstenes, necesitamos una lista booleana para representar si cada número es primo o no. Inicialmente, todos los números se marcan como primos (verdadero).
Aquí hay un esbozo del algoritmo:
- Crear una lista booleana primos de tamaño 101 (índices del 0 al 100), inicializada con todos los valores como verdadero.
- Establecer primos[0] y primos[1] a falso (0 y 1 no son primos).
- Para cada número `p` desde 2 hasta la raíz cuadrada de 100:
- Si primos[p] es verdadero:
- Para cada múltiplo de `p` desde `p*p` hasta 100 (con incrementos de `p`):
- Establecer primos[múltiplo] a falso.
- Para cada número `p` desde 2 hasta 100:
- Si primos[p] es verdadero:
- Imprimir `p`.
Consideraciones finales: Ambas soluciones producirán la lista de números primos del 1 al 100. La elección entre ellas depende de la optimización y escalabilidad requerida. Recuerda validar la salida para verificar la exactitud.
