jueves, 26 de marzo de 2009

Primos reversibles (Primo-Omirp)


Es muy popular la definición de los pares de números
primo-omirp, o primos reversibles, que son aquellos en los que uno se forma invirtiendo las cifras del otro y que ambos son primos, como los pares 199 y 991, 7589 y 9857. Se suelen excluir los capicúas.

No vamos a insistir en el concepto, que incluso se recoge en la Wikipedia, sino en la posibilidad de encontrarlos con Hoja de Cálculo.

Para ello necesitamos las dos funciones que definimos en una entrada anterior: INVERTIR_CIFRAS y ESCAPICUA. Además, deberemos contar con la función ESPRIMO, uno de cuyos posibles códigos incluimos al final de la entrada.

Si te animas, encontrarás (excluyendo capicúas) 4 parejas de dos cifras (13 – 31, 17 – 71, 37 – 73, 79 – 97), 14 parejas de tres cifras, desde 107-701 hasta 991-199, y 102 de cuatro cifras. Puedes ordenar bien los cálculos usando las mencionadas funciones (de ESCAPICUA puedes prescindir)



Código de la función ESPRIMO
'Devuelve un 1 si es primo y un 0 si es compuesto

Public function esprimo(a) as integer
dim ai as long
dim n as long

dim es
ai=abs(int(a)
if ai=1 then es=0
if ai=2 then es=1

if ai>2 then

n=2:es=1
while n<=sqr(ai) and es=1

if ai MOD n=0 then es=0
n=n+1

wend

endif

esprimo=es

end function

No hay comentarios: