Listas con los ceros emparejados

Sea S un conjunto de números. Las listas de ceros emparejados de S son las listas formadas con los elementos de S y en las cuales los ceros aparecen en sublistas de longitud par. Por ejemplo, si S = {0,1,2} entonces [1], [2], [2,1], [2,0,0,2,0,0,1] y [0,0,0,0,1,2] son listas de ceros emparejados de S; pero [0,0,0,2,1,0,0] y [0,0,1,0,1] no lo son.

Definir las funciones

tales que
+ (cerosEmparejados m n) es la lista de las listas de longitud n de ceros emparejados con los números 0, 1, 2,…, m. Por ejemplo,

  • (nCerosEmparejados m n) es el número de listas de longitud n de ceros emparejados con los números 0, 1, 2,…, m. Por ejemplo,

Soluciones

4 Comentarios

  1. Como siempre, hay que intentarlo. Es tremendamente ineficiente pero creo que correcta.

  2. Es algo más rápido que el de Jesús Navas, pero no puede hacer (nCerosEmparejados 9 27). Usar Int en lugar de Integer mejora un poco la rapidez.

    1. Bueno, ahora que lo pienso, parece que para nCerosEmparejados tenemos que usar fórmula en lugar de length.

  3. Un poco más rápida, usando evaluación perezosa

Escribe tu solución