aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-173/wambash/raku/ch-1.raku19
-rw-r--r--challenge-173/wambash/raku/ch-2.raku25
2 files changed, 44 insertions, 0 deletions
diff --git a/challenge-173/wambash/raku/ch-1.raku b/challenge-173/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..06ce6ee332
--- /dev/null
+++ b/challenge-173/wambash/raku/ch-1.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+sub esthetic-number ($n) {
+ $n.comb.cache
+ andthen $_ Z[-] .skip
+ andthen .all.abs == 1
+ andthen .so
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is esthetic-number(5456), True;
+ is esthetic-number( 120), False;
+ done-testing;
+}
+
+multi MAIN ($n) {
+ say esthetic-number $n
+}
diff --git a/challenge-173/wambash/raku/ch-2.raku b/challenge-173/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..8f28f3df54
--- /dev/null
+++ b/challenge-173/wambash/raku/ch-2.raku
@@ -0,0 +1,25 @@
+#!/usr/bin/env raku
+
+constant Sylvester's = 2, {1 + [*] @_} ... *;
+
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is Sylvester's.head(10), <
+ 2
+ 3
+ 7
+ 43
+ 1807
+ 3263443
+ 10650056950807
+ 113423713055421844361000443
+ 12864938683278671740537145998360961546653259485195807
+ 165506647324519964198468195444439180017513152706377497841851388766535868639572406808911988131737645185443
+ >;
+ done-testing;
+}
+
+multi MAIN (UInt $h=10) {
+ put Sylvester's.head($h);
+}