diff options
| author | Abigail <abigail@abigail.be> | 2021-05-25 03:33:08 +0200 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-05-25 03:33:08 +0200 |
| commit | 91985f9df2122f8896cd9758889abe35956f62ac (patch) | |
| tree | e222d45d05db74262b8f2ccc8ba9c2ffe0a7778c /challenge-114 | |
| parent | f07ec8a27e066ed44bc7404b31f6bd0716d10fd9 (diff) | |
| download | perlweeklychallenge-club-91985f9df2122f8896cd9758889abe35956f62ac.tar.gz perlweeklychallenge-club-91985f9df2122f8896cd9758889abe35956f62ac.tar.bz2 perlweeklychallenge-club-91985f9df2122f8896cd9758889abe35956f62ac.zip | |
AWK solution for week 114, part 1
Diffstat (limited to 'challenge-114')
| -rw-r--r-- | challenge-114/abigail/README.md | 1 | ||||
| -rw-r--r-- | challenge-114/abigail/awk/ch-1.awk | 39 |
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-114/abigail/README.md b/challenge-114/abigail/README.md index 93eb5e5b18..6d6da56bb8 100644 --- a/challenge-114/abigail/README.md +++ b/challenge-114/abigail/README.md @@ -16,6 +16,7 @@ Output: 1001 ~~~~ ### Solutions +* [AWK](awk/ch-1.awk) * [Perl](perl/ch-1.pl) ### Blog diff --git a/challenge-114/abigail/awk/ch-1.awk b/challenge-114/abigail/awk/ch-1.awk new file mode 100644 index 0000000000..dcc90a5751 --- /dev/null +++ b/challenge-114/abigail/awk/ch-1.awk @@ -0,0 +1,39 @@ +#!/usr/bin/awk + +# +# See ../README.md +# + +# +# Run as: awk -f ch-1.awk < input-file +# + +function reverse (word, out, i) { + for (i = length (word); i > 0; i --) { + out = out substr (word, i, 1) + } + return out +} + + + +/^9+$/ { + print $1 + 2 + next +} + +{ + part1 = substr ($1, 1, int (length ($1) / 2)) + part2 = substr ($1, 1 + int (length ($1) / 2), length ($1) % 2) + part3 = substr ($1, 1 + int (length ($1) / 2) + length ($1) % 2) + + if (reverse(part1) <= part3) { + part1 = (part1 part2) + 1 + if (length (part2)) { + part2 = substr (part1, length (part1), 1) + part1 = substr (part1, 1, length (part1) - 1) + } + } + + print part1 part2 reverse(part1) +} |
