aboutsummaryrefslogtreecommitdiff
path: root/challenge-146/laurent-rosenfeld/python/ch-2.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-146/laurent-rosenfeld/python/ch-2.py')
-rw-r--r--challenge-146/laurent-rosenfeld/python/ch-2.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/challenge-146/laurent-rosenfeld/python/ch-2.py b/challenge-146/laurent-rosenfeld/python/ch-2.py
new file mode 100644
index 0000000000..7120a602a7
--- /dev/null
+++ b/challenge-146/laurent-rosenfeld/python/ch-2.py
@@ -0,0 +1,10 @@
+# for a node x/y less than 1, parent is x/(y-x)
+# for a node x/y larger than 1, parent is (x-y)/x
+
+def find_parent(num, denom):
+ return [num, denom - num] if num < denom else [num - denom, denom]
+
+for test in ([5, 2], [2, 5], [3, 4], [3, 5]):
+ parent = find_parent(test[0], test[1])
+ gd_parent = find_parent(parent[0], parent[1])
+ print("Node", test, "has parent", parent, "and grand-parent", gd_parent)