Sumable sin vecinos

En la lista [3,2,5,7,4] el número 12 se puede escribir como una suma de elementos de la lista sin incluir sus vecinos (ya que es la suma de 3, 5 y 4); en cambio, 14 no lo es (porque es la suma de 3, 7 y 4, pero 7 y 4 son vecinos).

Definir la función

tal que (esSumableSinVecinos xs n) se verifica si n se puede escribir como una suma de elementos de xs que no incluye a ninguno de sus vecinos. Por ejemplo,

Soluciones

8 Comentarios

      1. Explícitamente no he considerado los negativos, pero si quieres considerarlos hay una reducción trivial con coste O(n) (y dado que el algoritmo es exponencial no importa mucho) de uno que admite sólo no negativos a otro que admite todos los enteros.

  1. Una propuesta usando matrices:

    1. Falla en el primer ejemplo

      pero 12 = 3 + 5 + 4

      1. Es verdad, es que no es un vector fila lo que se obtiene, si no un vector columna. Entonces la definición debería de ser:

Escribe tu solución