From 6ea097fc42b0b6f71c6cb2b14de458df7419823a Mon Sep 17 00:00:00 2001 From: arnesom Date: Sun, 17 Jul 2022 21:39:40 +0200 Subject: Arne Sommer --- challenge-173/arne-sommer/blog.txt | 1 + challenge-173/arne-sommer/raku/ch-1.raku | 20 ++++++++++++++++++++ challenge-173/arne-sommer/raku/ch-2.raku | 7 +++++++ challenge-173/arne-sommer/raku/esthetic-number | 20 ++++++++++++++++++++ .../arne-sommer/raku/sylvesters-length-sequence | 7 +++++++ challenge-173/arne-sommer/raku/sylvesters-sequence | 7 +++++++ 6 files changed, 62 insertions(+) create mode 100644 challenge-173/arne-sommer/blog.txt create mode 100755 challenge-173/arne-sommer/raku/ch-1.raku create mode 100755 challenge-173/arne-sommer/raku/ch-2.raku create mode 100755 challenge-173/arne-sommer/raku/esthetic-number create mode 100755 challenge-173/arne-sommer/raku/sylvesters-length-sequence create mode 100755 challenge-173/arne-sommer/raku/sylvesters-sequence 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"); -- cgit