aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarnesom <arne@bbop.org>2022-07-17 21:39:40 +0200
committerarnesom <arne@bbop.org>2022-07-17 21:39:40 +0200
commit6ea097fc42b0b6f71c6cb2b14de458df7419823a (patch)
treef4a100aa0fc1b2ae8b5c01128f8e2712671b4a85
parentce7e12a6e924d7cf6b30401ededa93f2173319ce (diff)
downloadperlweeklychallenge-club-6ea097fc42b0b6f71c6cb2b14de458df7419823a.tar.gz
perlweeklychallenge-club-6ea097fc42b0b6f71c6cb2b14de458df7419823a.tar.bz2
perlweeklychallenge-club-6ea097fc42b0b6f71c6cb2b14de458df7419823a.zip
Arne Sommer
-rw-r--r--challenge-173/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-173/arne-sommer/raku/ch-1.raku20
-rwxr-xr-xchallenge-173/arne-sommer/raku/ch-2.raku7
-rwxr-xr-xchallenge-173/arne-sommer/raku/esthetic-number20
-rwxr-xr-xchallenge-173/arne-sommer/raku/sylvesters-length-sequence7
-rwxr-xr-xchallenge-173/arne-sommer/raku/sylvesters-sequence7
6 files changed, 62 insertions, 0 deletions
diff --git a/challenge-173/arne-sommer/blog.txt b/challenge-173/arne-sommer/blog.txt
new file mode 100644
index 0000000000..91cd5cc902
--- /dev/null
+++ b/challenge-173/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/esthetic-sylvester.html
diff --git a/challenge-173/arne-sommer/raku/ch-1.raku b/challenge-173/arne-sommer/raku/ch-1.raku
new file mode 100755
index 0000000000..92a4f752d3
--- /dev/null
+++ b/challenge-173/arne-sommer/raku/ch-1.raku
@@ -0,0 +1,20 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int $n where $n > 0);
+
+say + is-esthetic($n);
+
+sub is-esthetic ($number)
+{
+ my @digits = $n.comb;
+
+ my $current = @digits.shift;
+
+ while @digits.elems
+ {
+ return False if all ($current != @digits[0] + 1), ($current != @digits[0] - 1);
+ $current = @digits.shift;
+ }
+
+ return True;
+}
diff --git a/challenge-173/arne-sommer/raku/ch-2.raku b/challenge-173/arne-sommer/raku/ch-2.raku
new file mode 100755
index 0000000000..b3f7647bbb
--- /dev/null
+++ b/challenge-173/arne-sommer/raku/ch-2.raku
@@ -0,0 +1,7 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int $count where $count > 0 = 10);
+
+my $ss := (my $sum = 2, { my $c = $sum +1; $sum *= $c; $c } ... Inf);
+
+say $ss[^$count].join("\n");
diff --git a/challenge-173/arne-sommer/raku/esthetic-number b/challenge-173/arne-sommer/raku/esthetic-number
new file mode 100755
index 0000000000..92a4f752d3
--- /dev/null
+++ b/challenge-173/arne-sommer/raku/esthetic-number
@@ -0,0 +1,20 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int $n where $n > 0);
+
+say + is-esthetic($n);
+
+sub is-esthetic ($number)
+{
+ my @digits = $n.comb;
+
+ my $current = @digits.shift;
+
+ while @digits.elems
+ {
+ return False if all ($current != @digits[0] + 1), ($current != @digits[0] - 1);
+ $current = @digits.shift;
+ }
+
+ return True;
+}
diff --git a/challenge-173/arne-sommer/raku/sylvesters-length-sequence b/challenge-173/arne-sommer/raku/sylvesters-length-sequence
new file mode 100755
index 0000000000..34607914e3
--- /dev/null
+++ b/challenge-173/arne-sommer/raku/sylvesters-length-sequence
@@ -0,0 +1,7 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int $count where $count > 0 = 10);
+
+my $ss := (my $sum = 2, { my $c = $sum +1; $sum *= $c; $c } ... Inf);
+
+say $ss[^$count].map( *.chars ).join(", ");
diff --git a/challenge-173/arne-sommer/raku/sylvesters-sequence b/challenge-173/arne-sommer/raku/sylvesters-sequence
new file mode 100755
index 0000000000..b3f7647bbb
--- /dev/null
+++ b/challenge-173/arne-sommer/raku/sylvesters-sequence
@@ -0,0 +1,7 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int $count where $count > 0 = 10);
+
+my $ss := (my $sum = 2, { my $c = $sum +1; $sum *= $c; $c } ... Inf);
+
+say $ss[^$count].join("\n");