aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2024-09-30 05:55:00 +0200
committerJan Krňávek <Jan.Krnavek@gmail.com>2024-09-30 05:55:00 +0200
commit7ffcf75e4ea004584c7e0a91ca637f5bad0bbcbc (patch)
treed29dea517b89348a80a8bf16c19ce5d2826955f5
parent9437b5a4b5fa7e256f5afd0e347ccc81149bc136 (diff)
downloadperlweeklychallenge-club-7ffcf75e4ea004584c7e0a91ca637f5bad0bbcbc.tar.gz
perlweeklychallenge-club-7ffcf75e4ea004584c7e0a91ca637f5bad0bbcbc.tar.bz2
perlweeklychallenge-club-7ffcf75e4ea004584c7e0a91ca637f5bad0bbcbc.zip
solution week 288-1
-rw-r--r--challenge-288/wambash/raku/ch-1.raku20
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-288/wambash/raku/ch-1.raku b/challenge-288/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..1ae1b96da3
--- /dev/null
+++ b/challenge-288/wambash/raku/ch-1.raku
@@ -0,0 +1,20 @@
+#!/usr/bin/env raku
+
+sub closest-palindrome (Int() $str) {
+ $str, $str, -> $p, $n {slip $p.pred, $n.succ} ... *
+ andthen .skip: 2
+ andthen .first: { $_ == .flip}
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is closest-palindrome('123'), '121';
+ is closest-palindrome('2'), '1';
+ is closest-palindrome('1400'), '1441';
+ is closest-palindrome('1001'), '999';
+ done-testing;
+}
+
+multi MAIN ($str) {
+ say closest-palindrome $str
+}