La "rana prima" es un animal extraño que salta entre enteros, hasta que llega el 3 o 19 ...
Su programa debe aceptar un nĂșmero entero n
como entrada y salida del resultado del algoritmo siguiente ( 3
o 19
).
Para un entero dado n >= 2
:
- Dejar
f
ser la posiciĂłn de la rana. Inicialmente se establece enn
- if
f = 3
orf = 19
: la rana deja de saltar: detiene el programa y la salidaf
. - si
f
es primo: la rana salta a la posiciĂłn2Ăf-1
. Regrese al paso 2. - si
f
es compuesto: dejar qued
seaf
's divisor primo mayor. La rana salta a la posiciĂłnf-d
. Regrese al paso 2.
Ejemplos:
Un ejemplo con n = 5
:
5 > 9 > 6 > 3 stop
El programa deberĂa salir 3
.
Otro ejemplo con n = 23
:
23 > 45 > 40 > 35 > 28 > 21 > 14 > 7 > 13 > 25 > 20 > 15 > 10 > 5 > 9 > 6 > 3 stop
De nuevo, el programa deberĂa salir 3
.
Casos de prueba:
10 => 3
74 => 19
94 => 3
417 => 3
991 => 19
9983 => 19
Puede suponer 1 < n < 1000000
(he comprobado que el programa termina con estos valores).
3
o 19
, podrĂamos cambiar el elemento 2. en el algoritmo para decir que si la rana ha entrado en un bucle (ha encontrado una posiciĂłn que ha visto antes), entonces deja de saltar y devuelve el mĂĄs pequeño miembro de ese ciclo.