Buenas, tengo un problema con un codigo que e generado y no logro dar con la tecla de por que no anda.
Si me pueden ayudar se los agradeceria el codigo es el siguiente:
descomponer([],[]).
descomponer([[X|Y]|L],[R|C]):- escribir(X,Y,R), descomponer(L,C).
escribir(X,Y,X):- Y =:= 0. % puede ser que falte el ! para que pare la recurcion.
escribir(X,Y,[X|L1]):- Y1 is Y - 1, escribir(X,Y1,L1).
La letra de ese codigo es la siguiente:
Se tiene una lista de pares de numeros ejemplo [[1,2],[23,4],[4,1]] estas listas se consideran como una representacion compacta de una lista de numeros. A partir de una lista compactada se obtiene una lista no compactada de la siguiente manera
-Se sustituye cada par [a,n] por una repeticion del numero a tantas veces como lo indica el numero n.
La solucion de la lista anterior seria la lista [1,1,23,23,23,23,4]
Para resolver este problema no puedo usar acumuladores
Desde ya muchas gracias