【发布时间】:2020-04-24 22:47:26
【问题描述】:
我正在尝试解码给定列表,例如 mydecode([(a,1), (b,2), (c,3), (d,2)],X) 应该给出 X = [' a','b','b','c','c','c','d','d']。这段代码有什么错误?
mydecode([],[]).
mydecode([X|Ys],[X|Zs]) :- \+ is_list(X), mydecode(Ys,Zs).
mydecode([[1,X]|Ys],[X|Zs]) :- mydecode(Ys,Zs).
mydecode([[N,X]|Ys],[X|Zs]) :- N > 1, N1 is N - 1, mydecode([[N1,X]|Ys],Zs).
【问题讨论】:
标签: list prolog decode run-length-encoding