#!/usr/local/bin/perl # Program to find prime numbers. Brute force approach. print "Ingresa un extremo del rango (>=2):\n"; $a = ; print "Ingresa el otro extremo del rango (>= 2):\n"; $b = ; # Varios controles. # Primero controla que los valores ingresados sean mayores o iguales que 2. ($a < 2) && die "Los extremos del rango deben ser >= 2.\n"; ($b < 2) && die "Los extremos del rango deben ser >= 2.\n"; # Si se ingresaron valores decimales, considera solo la parte entera. $a = int($a); $b = int($b); # Se asegura de que el primer extremo del rango es menor que el segundo. if ($b < $a) { $tmp = $a; $a = $b; $b = $tmp; } # Ejecuta el algoritmo.. $numero = $a; while ($numero <= $b) { $primo = 1; # Uso 1 para "verdadero". $divisor = 2; while (($divisor < $numero) && ($primo == 1)) { $resto = $numero/$divisor - int($numero/$divisor); if ($resto == 0) { $primo = 0; # Uso 0 para "falso". } $divisor++; } if ($primo == 1) { print "Primo: $numero\n"; } $numero++; }