Primos hereditarios

Un número primo es hereditario si todos los números obtenidos eliminando dígitos por la derecha o por la izquierda son primos. Por ejemplo, 3797 es hereditario ya que los números obtenidos eliminando dígitos por la derecha son 3797, 379, 37 y 3 y los obtenidos eliminando dígitos por la izquierda son 3797, 797, 97 y 7 y todos ellos son primos.

Definir la sucesión

cuyos elementos son los números hereditarios. Por ejemplo,

Soluciones

4 Comentarios

    1. La búsqueda se puede reducir a los números primos, pues es una condición necesaria para que sea hereditario:

  1. Aunque algo elaborado puede hacerse exponencialmente más rápido que la solución trivial.
    Generamos desde la izquierda el árbol con podas hasta la mitad de dígitos.
    Generamos desde la derecha el árbol con podas hasta la mitad de dígitos.
    Vamos fusionando ambos árboles podando combinaciones que no encajan.
    Por A024785, no existirá ningún hereditario de más de 24 dígitos (¿existe alguna cota inferior?).
    Así, obtenerlos todos (sin saber que son 15) toma unos 95 mS y tomar los 15 unos 48 mS.