summaryrefslogtreecommitdiff
path: root/prolog/problems/clp_r/center_3/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'prolog/problems/clp_r/center_3/common.py')
-rw-r--r--prolog/problems/clp_r/center_3/common.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/prolog/problems/clp_r/center_3/common.py b/prolog/problems/clp_r/center_3/common.py
new file mode 100644
index 0000000..1474ef1
--- /dev/null
+++ b/prolog/problems/clp_r/center_3/common.py
@@ -0,0 +1,20 @@
+id = 158
+group = 'clp_r'
+number = 68
+visible = True
+facts = None
+
+solution = '''\
+memb158(X, [X|_]).
+memb158(X, [_|T]) :-
+ memb158(X, T).
+
+check158([], _, _).
+check158([X/Y | T], R, Xc/Yc) :-
+ { (X-Xc)*(X-Xc) + (Y-Yc)*(Y-Yc) =< R*R },
+ check158(T, R, Xc/Yc).
+
+center(L, R, Xc/Yc) :-
+ memb158(Xc/Yc, L),
+ check158(L, R, Xc/Yc).
+'''