summaryrefslogtreecommitdiff
path: root/prolog/problems/trees/numberbt_2
diff options
context:
space:
mode:
Diffstat (limited to 'prolog/problems/trees/numberbt_2')
-rw-r--r--prolog/problems/trees/numberbt_2/common.py13
-rw-r--r--prolog/problems/trees/numberbt_2/en.py12
2 files changed, 25 insertions, 0 deletions
diff --git a/prolog/problems/trees/numberbt_2/common.py b/prolog/problems/trees/numberbt_2/common.py
new file mode 100644
index 0000000..65baa14
--- /dev/null
+++ b/prolog/problems/trees/numberbt_2/common.py
@@ -0,0 +1,13 @@
+id = 139
+group = 'trees'
+number = 44
+visible = True
+facts = None
+
+solution = '''\
+numberBT(nil, 0).
+numberBT(b(L, _, R), N) :-
+ numberBT(L, LN),
+ numberBT(R, RN),
+ N is LN + RN + 1.
+'''
diff --git a/prolog/problems/trees/numberbt_2/en.py b/prolog/problems/trees/numberbt_2/en.py
new file mode 100644
index 0000000..6f735ed
--- /dev/null
+++ b/prolog/problems/trees/numberbt_2/en.py
@@ -0,0 +1,12 @@
+id = 139
+name = 'numberBT/2'
+slug = 'find the number of nodes in a binary tree'
+
+description = '''\
+<p><code>numberBT(T, N)</code>: <code>N</code> is the number of nodes in the binary tree <code>T</code>.</p>
+<pre>
+ ?- numberBT(b(b(nil,2,nil),1,b(nil,3,nil)), N).
+ N = 3.
+</pre>'''
+
+hint = {}