diff options
| -rw-r--r-- | challenge-173/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-173/arne-sommer/raku/ch-1.raku | 20 | ||||
| -rwxr-xr-x | challenge-173/arne-sommer/raku/ch-2.raku | 7 | ||||
| -rwxr-xr-x | challenge-173/arne-sommer/raku/esthetic-number | 20 | ||||
| -rwxr-xr-x | challenge-173/arne-sommer/raku/sylvesters-length-sequence | 7 | ||||
| -rwxr-xr-x | challenge-173/arne-sommer/raku/sylvesters-sequence | 7 |
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"); |
