|
Hola:
Faltan dos cosas, aparte de que devuelva también el 2 como primo:
While Temp >= i ... debe cambiarse por
while Temp > i ..., para que cuando sea Temp = i no siga decrementando, si no falla la sentencia siguiente.
La última sentencia de la función debe ser result := NOT Enc (puesto que enc es TRUE si se ha encontrado un múltiplo).
Con esto el algoritmo funciona perfectamente y es bastante bueno, lo de dividir por 2 el número de comprobaciones nadie lo discute, reduce el tiempo de resolución, sólo que el interesado nos puso algunas condiciones en el primer mensaje.
Saludos
|