aboutsummaryrefslogtreecommitdiff
path: root/challenge-123/abigail/bc
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-07-28 18:13:24 +0200
committerAbigail <abigail@abigail.be>2021-07-28 18:13:24 +0200
commita42addb6a561d57e470cfed7828109bbfba040fb (patch)
treec18527120e6a1f8a71e04910bc03ccc7d1e5fffa /challenge-123/abigail/bc
parentbd9797e1d52dc5b0853bc5400f04f477ffd6a4cb (diff)
downloadperlweeklychallenge-club-a42addb6a561d57e470cfed7828109bbfba040fb.tar.gz
perlweeklychallenge-club-a42addb6a561d57e470cfed7828109bbfba040fb.tar.bz2
perlweeklychallenge-club-a42addb6a561d57e470cfed7828109bbfba040fb.zip
Use methods to factor out calculations.
Diffstat (limited to 'challenge-123/abigail/bc')
-rw-r--r--challenge-123/abigail/bc/ch-2.bc20
1 files changed, 10 insertions, 10 deletions
diff --git a/challenge-123/abigail/bc/ch-2.bc b/challenge-123/abigail/bc/ch-2.bc
index 2ea9169a08..70815c52d7 100644
--- a/challenge-123/abigail/bc/ch-2.bc
+++ b/challenge-123/abigail/bc/ch-2.bc
@@ -8,6 +8,8 @@
# Input should be terminated with a line starting with a 0
#
+define dist (a, b, c, d) {return ((a - c) ^ 2 + (b - d) ^ 2)}
+
while (1) {
a = read ()
if (a == 0) {break}
@@ -18,15 +20,13 @@ while (1) {
f = read ()
g = read ()
h = read ()
- i = (a - c) ^ 2 + (b - d) ^ 2
- j = (c - e) ^ 2 + (d - f) ^ 2
- k = (e - g) ^ 2 + (f - h) ^ 2
- l = (g - a) ^ 2 + (h - b) ^ 2
- m = (a - e) ^ 2 + (b - f) ^ 2
- n = (c - g) ^ 2 + (d - h) ^ 2
- o = 0
- if (i == j && j == k && k == l && m == n) {
- o = 1
+
+ if (dist (a, b, c, d) == dist (c, d, e, f) && \
+ dist (c, d, e, f) == dist (e, f, g, h) && \
+ dist (e, f, g, h) == dist (g, h, a, b) && \
+ dist (a, b, e, f) == dist (c, d, g, h)) {
+ 1
+ } else {
+ 0
}
- o
}