summaryrefslogtreecommitdiff
path: root/prolog/problems/lists/rev_2
diff options
context:
space:
mode:
Diffstat (limited to 'prolog/problems/lists/rev_2')
-rw-r--r--prolog/problems/lists/rev_2/common.py15
-rw-r--r--prolog/problems/lists/rev_2/en.py14
2 files changed, 29 insertions, 0 deletions
diff --git a/prolog/problems/lists/rev_2/common.py b/prolog/problems/lists/rev_2/common.py
new file mode 100644
index 0000000..79c5fca
--- /dev/null
+++ b/prolog/problems/lists/rev_2/common.py
@@ -0,0 +1,15 @@
+id = 111
+group = 'lists'
+number = 18
+visible = True
+facts = None
+
+solution = '''\
+conc111([], L, L).
+conc111([H|T], L2, [H|L]) :-
+ conc111(T, L2, L).
+rev([], []).
+rev([H|T], R):-
+ rev(T, R1),
+ conc111(R1, [H], R).
+'''
diff --git a/prolog/problems/lists/rev_2/en.py b/prolog/problems/lists/rev_2/en.py
new file mode 100644
index 0000000..9cacc95
--- /dev/null
+++ b/prolog/problems/lists/rev_2/en.py
@@ -0,0 +1,14 @@
+id = 111
+name = 'rev/2'
+slug = 'reverse a list'
+
+description = '''\
+<p><code>rev(L1, L2)</code>: the list <code>L2</code> is obtained from <code>L1</code> by reversing the order of the elements.</p>
+<pre>
+ ?- rev([], X).
+ X = [].
+ ?- rev([1,2,3], X).
+ X = [3,2,1].
+</pre>'''
+
+hint = {}