aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArne Sommer <arne@bbop.org>2025-05-11 19:49:13 +0200
committerArne Sommer <arne@bbop.org>2025-05-11 19:49:13 +0200
commit41d9d7a4cbfbfa06e0868344cb026b9e1ba274a9 (patch)
tree9032500584799ce8c73e782050d6dd1c838647b6
parent96ffdd8c13c12259b278e66fb1e2572a9688b69b (diff)
downloadperlweeklychallenge-club-41d9d7a4cbfbfa06e0868344cb026b9e1ba274a9.tar.gz
perlweeklychallenge-club-41d9d7a4cbfbfa06e0868344cb026b9e1ba274a9.tar.bz2
perlweeklychallenge-club-41d9d7a4cbfbfa06e0868344cb026b9e1ba274a9.zip
Arne Sommer
-rw-r--r--challenge-320/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-320/arne-sommer/raku/ch-1.raku11
-rwxr-xr-xchallenge-320/arne-sommer/raku/ch-2.raku15
-rwxr-xr-xchallenge-320/arne-sommer/raku/maximum-count11
-rwxr-xr-xchallenge-320/arne-sommer/raku/sum-difference15
5 files changed, 53 insertions, 0 deletions
diff --git a/challenge-320/arne-sommer/blog.txt b/challenge-320/arne-sommer/blog.txt
new file mode 100644
index 0000000000..2126ca62de
--- /dev/null
+++ b/challenge-320/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/count-difference.html
diff --git a/challenge-320/arne-sommer/raku/ch-1.raku b/challenge-320/arne-sommer/raku/ch-1.raku
new file mode 100755
index 0000000000..c681b0be63
--- /dev/null
+++ b/challenge-320/arne-sommer/raku/ch-1.raku
@@ -0,0 +1,11 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@ints where @ints.elems > 1 && all(@ints) ~~ Int,
+ :v(:$verbose));
+
+my $pos = @ints.grep( * > 0 ).elems;
+my $neg = @ints.grep( * < 0 ).elems;
+
+say ": There are $pos positive integers\n: There are $neg negative integers" if $verbose;
+
+say ($pos, $neg).max;
diff --git a/challenge-320/arne-sommer/raku/ch-2.raku b/challenge-320/arne-sommer/raku/ch-2.raku
new file mode 100755
index 0000000000..09a472106b
--- /dev/null
+++ b/challenge-320/arne-sommer/raku/ch-2.raku
@@ -0,0 +1,15 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@ints where @ints.elems > 0 && all(@ints) ~~ Int && all(@ints) > 0,
+ :v(:$verbose));
+
+my $elem-sum = @ints.sum;
+my $digit-sum = @ints>>.comb>>.sum.sum;
+
+if $verbose
+{
+ say ": Element sum: $elem-sum";
+ say ": Digit sum: $digit-sum";
+}
+
+say abs($elem-sum - $digit-sum);
diff --git a/challenge-320/arne-sommer/raku/maximum-count b/challenge-320/arne-sommer/raku/maximum-count
new file mode 100755
index 0000000000..c681b0be63
--- /dev/null
+++ b/challenge-320/arne-sommer/raku/maximum-count
@@ -0,0 +1,11 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@ints where @ints.elems > 1 && all(@ints) ~~ Int,
+ :v(:$verbose));
+
+my $pos = @ints.grep( * > 0 ).elems;
+my $neg = @ints.grep( * < 0 ).elems;
+
+say ": There are $pos positive integers\n: There are $neg negative integers" if $verbose;
+
+say ($pos, $neg).max;
diff --git a/challenge-320/arne-sommer/raku/sum-difference b/challenge-320/arne-sommer/raku/sum-difference
new file mode 100755
index 0000000000..09a472106b
--- /dev/null
+++ b/challenge-320/arne-sommer/raku/sum-difference
@@ -0,0 +1,15 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@ints where @ints.elems > 0 && all(@ints) ~~ Int && all(@ints) > 0,
+ :v(:$verbose));
+
+my $elem-sum = @ints.sum;
+my $digit-sum = @ints>>.comb>>.sum.sum;
+
+if $verbose
+{
+ say ": Element sum: $elem-sum";
+ say ": Digit sum: $digit-sum";
+}
+
+say abs($elem-sum - $digit-sum);