diff options
| author | arnesom <arne@bbop.org> | 2024-03-20 23:49:25 +0100 |
|---|---|---|
| committer | arnesom <arne@bbop.org> | 2024-03-20 23:49:25 +0100 |
| commit | 77773e90bb395fdf6a927942e2ed5f7a743170ac (patch) | |
| tree | 75a484bdb3cbe004faa1e1308e098d7cf821ee58 | |
| parent | 5bdb6ed8347dae7adc19d0403759d70f47f047fc (diff) | |
| download | perlweeklychallenge-club-77773e90bb395fdf6a927942e2ed5f7a743170ac.tar.gz perlweeklychallenge-club-77773e90bb395fdf6a927942e2ed5f7a743170ac.tar.bz2 perlweeklychallenge-club-77773e90bb395fdf6a927942e2ed5f7a743170ac.zip | |
Arne Sommer
| -rw-r--r-- | challenge-261/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-261/arne-sommer/raku/ch-1.raku | 10 | ||||
| -rwxr-xr-x | challenge-261/arne-sommer/raku/ch-2.raku | 17 | ||||
| -rwxr-xr-x | challenge-261/arne-sommer/raku/element-digit-sum | 10 | ||||
| -rwxr-xr-x | challenge-261/arne-sommer/raku/multiply-by-two | 17 |
5 files changed, 55 insertions, 0 deletions
diff --git a/challenge-261/arne-sommer/blog.txt b/challenge-261/arne-sommer/blog.txt new file mode 100644 index 0000000000..6ce87f94ea --- /dev/null +++ b/challenge-261/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/two-elements.html diff --git a/challenge-261/arne-sommer/raku/ch-1.raku b/challenge-261/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..0bf8925921 --- /dev/null +++ b/challenge-261/arne-sommer/raku/ch-1.raku @@ -0,0 +1,10 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@ints where all(@ints) ~~ UInt && @ints.elems > 0, :v(:$verbose)); + +my $elem-sum = @ints.sum; +my $digit-sum = @ints>>.comb>>.sum.sum; + +say ": Elem sum: $elem-sum, Digit sum: $digit-sum" if $verbose; + +say abs($elem-sum - $digit-sum); diff --git a/challenge-261/arne-sommer/raku/ch-2.raku b/challenge-261/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..8781c3557c --- /dev/null +++ b/challenge-261/arne-sommer/raku/ch-2.raku @@ -0,0 +1,17 @@ +#! /usr/bin/env raku + +unit sub MAIN (Int $start is copy, + *@ints where all(@ints) ~~ Int && @ints.elems > 0, + :v(:$verbose)); + +my $step = 1; + +while any(@ints) == $start +{ + say ": Step { $step++ }: $start is in the array, so $start x 2 = { $start * 2 }" if $verbose; + $start = $start * 2; +} + +say ": $start is not found in the array, so return $start" if $verbose; + +say $start; diff --git a/challenge-261/arne-sommer/raku/element-digit-sum b/challenge-261/arne-sommer/raku/element-digit-sum new file mode 100755 index 0000000000..0bf8925921 --- /dev/null +++ b/challenge-261/arne-sommer/raku/element-digit-sum @@ -0,0 +1,10 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@ints where all(@ints) ~~ UInt && @ints.elems > 0, :v(:$verbose)); + +my $elem-sum = @ints.sum; +my $digit-sum = @ints>>.comb>>.sum.sum; + +say ": Elem sum: $elem-sum, Digit sum: $digit-sum" if $verbose; + +say abs($elem-sum - $digit-sum); diff --git a/challenge-261/arne-sommer/raku/multiply-by-two b/challenge-261/arne-sommer/raku/multiply-by-two new file mode 100755 index 0000000000..8781c3557c --- /dev/null +++ b/challenge-261/arne-sommer/raku/multiply-by-two @@ -0,0 +1,17 @@ +#! /usr/bin/env raku + +unit sub MAIN (Int $start is copy, + *@ints where all(@ints) ~~ Int && @ints.elems > 0, + :v(:$verbose)); + +my $step = 1; + +while any(@ints) == $start +{ + say ": Step { $step++ }: $start is in the array, so $start x 2 = { $start * 2 }" if $verbose; + $start = $start * 2; +} + +say ": $start is not found in the array, so return $start" if $verbose; + +say $start; |
