summaryrefslogtreecommitdiff
path: root/prolog/problems/trees/tolistbt_2
diff options
context:
space:
mode:
Diffstat (limited to 'prolog/problems/trees/tolistbt_2')
-rw-r--r--prolog/problems/trees/tolistbt_2/common.py17
-rw-r--r--prolog/problems/trees/tolistbt_2/en.py12
2 files changed, 29 insertions, 0 deletions
diff --git a/prolog/problems/trees/tolistbt_2/common.py b/prolog/problems/trees/tolistbt_2/common.py
new file mode 100644
index 0000000..6df7cdd
--- /dev/null
+++ b/prolog/problems/trees/tolistbt_2/common.py
@@ -0,0 +1,17 @@
+id = 141
+group = 'trees'
+number = 46
+visible = True
+facts = None
+
+solution = '''\
+conc141([], L, L).
+conc141([H|T], L2, [H|L]) :-
+ conc141(T, L2, L).
+
+tolistBT(nil, []).
+tolistBT(b(L, E, R), List) :-
+ tolistBT(L, LL),
+ tolistBT(R, RL),
+ conc141(LL, [E|RL], List).
+'''
diff --git a/prolog/problems/trees/tolistbt_2/en.py b/prolog/problems/trees/tolistbt_2/en.py
new file mode 100644
index 0000000..c4bf5ba
--- /dev/null
+++ b/prolog/problems/trees/tolistbt_2/en.py
@@ -0,0 +1,12 @@
+id = 141
+name = 'tolistBT/2'
+slug = 'construct a list with all elements of a binary tree'
+
+description = '''\
+<p><code>tolistBT(T, L)</code>: the list <code>L</code> contains all the elements in the binary tree <code>T</code>, in infix order.</p>
+<pre>
+ ?- tolistBT(b(b(nil,2,nil),1,b(nil,3,nil)), L).
+ L = [2,1,3].
+</pre>'''
+
+hint = {}