diff options
| author | Abigail <abigail@abigail.be> | 2021-11-25 18:34:55 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-11-25 18:34:55 +0100 |
| commit | 010d30db79e7468841b5aa8e66f29292cf478ee9 (patch) | |
| tree | bea97cae4c8d5cad5bae9259e9667d2ccd3f8a5e | |
| parent | 9d0c7a33b83dd4d9120862fc5932c02525d3f2c5 (diff) | |
| download | perlweeklychallenge-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.bc | 35 | ||||
| -rw-r--r-- | challenge-135/abigail/t/ctest.ini | 7 | ||||
| -rw-r--r-- | challenge-135/abigail/t/input-1-2 | 1 | ||||
| -rw-r--r-- | challenge-135/abigail/t/input-1-3 | 1 | ||||
| -rw-r--r-- | challenge-135/abigail/t/output-1-2.exp | 1 | ||||
| -rw-r--r-- | challenge-135/abigail/t/output-1-3.exp | 1 |
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 |
