aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-11-25 18:34:55 +0100
committerAbigail <abigail@abigail.be>2021-11-25 18:34:55 +0100
commit010d30db79e7468841b5aa8e66f29292cf478ee9 (patch)
treebea97cae4c8d5cad5bae9259e9667d2ccd3f8a5e
parent9d0c7a33b83dd4d9120862fc5932c02525d3f2c5 (diff)
downloadperlweeklychallenge-club-010d30db79e7468841b5aa8e66f29292cf478ee9.tar.gz
perlweeklychallenge-club-010d30db79e7468841b5aa8e66f29292cf478ee9.tar.bz2
perlweeklychallenge-club-010d30db79e7468841b5aa8e66f29292cf478ee9.zip
bc solution for week 135, part 1
-rw-r--r--challenge-135/abigail/bc/ch-1.bc35
-rw-r--r--challenge-135/abigail/t/ctest.ini7
-rw-r--r--challenge-135/abigail/t/input-1-21
-rw-r--r--challenge-135/abigail/t/input-1-31
-rw-r--r--challenge-135/abigail/t/output-1-2.exp1
-rw-r--r--challenge-135/abigail/t/output-1-3.exp1
6 files changed, 44 insertions, 2 deletions
diff --git a/challenge-135/abigail/bc/ch-1.bc b/challenge-135/abigail/bc/ch-1.bc
new file mode 100644
index 0000000000..14713dc7fe
--- /dev/null
+++ b/challenge-135/abigail/bc/ch-1.bc
@@ -0,0 +1,35 @@
+#
+# See ../README.md
+#
+
+#
+# Run as: bc ch-1.bc < input-file
+#
+
+while (1) {
+ n = read (); if (n == 0) {break;}
+ if (n < 0) {n = -n}
+ #
+ # Find the number of digits
+ #
+ d = 1
+ f = 10
+ while (f <= n) {
+ d = d + 1
+ f = f * 10
+ }
+ if (d % 2 == 0) {
+ "even number of digits"
+ } else {
+ if (d < 3) {
+ "too short"
+ } else {
+ for (q = (d + 3) / 2 - 1; q >= (d - 3) / 2; q --) {
+ r = (n / (10 ^ q)) % 10
+ print (r)
+ }
+ }
+ }
+ "
+"
+}
diff --git a/challenge-135/abigail/t/ctest.ini b/challenge-135/abigail/t/ctest.ini
index e3c9965d46..a2c8d47f9b 100644
--- a/challenge-135/abigail/t/ctest.ini
+++ b/challenge-135/abigail/t/ctest.ini
@@ -6,5 +6,12 @@
[names]
1-1 = Given Examples
1-2 = More tests
+1-3 = Not an integer
2-1 = Given Examples
2-2 = Additional tests
+
+[1-1,1-2/bc]
+add_to_input = 0
+
+[1-3/bc]
+skip = "bc can only read numbers"
diff --git a/challenge-135/abigail/t/input-1-2 b/challenge-135/abigail/t/input-1-2
index f10923ad73..bdef652f0a 100644
--- a/challenge-135/abigail/t/input-1-2
+++ b/challenge-135/abigail/t/input-1-2
@@ -1,3 +1,2 @@
12121212
1212121
-1,000,000
diff --git a/challenge-135/abigail/t/input-1-3 b/challenge-135/abigail/t/input-1-3
new file mode 100644
index 0000000000..597c879e5c
--- /dev/null
+++ b/challenge-135/abigail/t/input-1-3
@@ -0,0 +1 @@
+1,000,000
diff --git a/challenge-135/abigail/t/output-1-2.exp b/challenge-135/abigail/t/output-1-2.exp
index f9502fcb06..f67abe56b1 100644
--- a/challenge-135/abigail/t/output-1-2.exp
+++ b/challenge-135/abigail/t/output-1-2.exp
@@ -1,3 +1,2 @@
even number of digits
121
-not an integer
diff --git a/challenge-135/abigail/t/output-1-3.exp b/challenge-135/abigail/t/output-1-3.exp
new file mode 100644
index 0000000000..c7bc91e121
--- /dev/null
+++ b/challenge-135/abigail/t/output-1-3.exp
@@ -0,0 +1 @@
+not an integer