diff options
Diffstat (limited to 'prolog/problems/trees/depthbt_2')
-rw-r--r-- | prolog/problems/trees/depthbt_2/common.py | 17 | ||||
-rw-r--r-- | prolog/problems/trees/depthbt_2/en.py | 12 |
2 files changed, 29 insertions, 0 deletions
diff --git a/prolog/problems/trees/depthbt_2/common.py b/prolog/problems/trees/depthbt_2/common.py new file mode 100644 index 0000000..9e26f21 --- /dev/null +++ b/prolog/problems/trees/depthbt_2/common.py @@ -0,0 +1,17 @@ +id = 140 +group = 'trees' +number = 45 +visible = True +facts = None + +solution = '''\ +depthBT(nil, 0). +depthBT(b(L, _, R), D) :- + depthBT(L, DL), + depthBT(R, DR), + (DL >= DR, + D is DL + 1 + ; + DL < DR, + D is DR + 1). +''' diff --git a/prolog/problems/trees/depthbt_2/en.py b/prolog/problems/trees/depthbt_2/en.py new file mode 100644 index 0000000..37cb3cd --- /dev/null +++ b/prolog/problems/trees/depthbt_2/en.py @@ -0,0 +1,12 @@ +id = 140 +name = 'depthBT/2' +slug = 'find the depth of a binary tree' + +description = '''\ +<p><code>depthBT(T, D)</code>: <code>D</code> is the depth of the binary tree <code>T</code>.</p> +<pre> + ?- depthBT(b(b(b(nil,4,nil),2,b(nil,6,nil)),1,nil), D). + D = 3. +</pre>''' + +hint = {} |