【发布时间】:2017-06-27 15:33:45
【问题描述】:
Prolog 的新手。 我想要一个将 1 换成 0 和 0 换成 1 并回答这个问题的程序:
?- swap([1,1,0,1,0,0,0,1], L2).
L2 = [0,0,1,0,1,1,1,0]
【问题讨论】:
-
你有没有做过任何可以展示和询问具体问题的尝试?
-
我会提供一些线索。从规则的角度考虑它。基本情况是关于交换一个空列表,
swap([], []).(交换的空列表也是一个空列表。)。然后是递归案例。例如,swap([1|X], ...) :- ......第一个参数是[1|X]会是什么样子(头部为 1 且列表尾部为X的列表)?