aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2023-11-25 22:40:56 +0000
committerGitHub <noreply@github.com>2023-11-25 22:40:56 +0000
commit5699e3962a61cf46e8538dfd28f5ffcb4a6dc995 (patch)
tree2b61e9cc99b567f8d1335b3dc34ddcc5870fb272
parentce38ff4e66f823e21bbab0c4fe04522d745e1d55 (diff)
parenta0fe8f2b20b9f1704c413b31cd0b89188ab9f434 (diff)
downloadperlweeklychallenge-club-5699e3962a61cf46e8538dfd28f5ffcb4a6dc995.tar.gz
perlweeklychallenge-club-5699e3962a61cf46e8538dfd28f5ffcb4a6dc995.tar.bz2
perlweeklychallenge-club-5699e3962a61cf46e8538dfd28f5ffcb4a6dc995.zip
Merge pull request #9133 from arnesom/branch-for-challenge-244
Arne Sommer
-rwxr-xr-xchallenge-244/arne-sommer/raku/ch-1.raku5
-rwxr-xr-xchallenge-244/arne-sommer/raku/ch-2.raku20
-rwxr-xr-xchallenge-244/arne-sommer/raku/count-smaller18
-rwxr-xr-xchallenge-244/arne-sommer/raku/count-smaller-oneliner5
-rwxr-xr-xchallenge-244/arne-sommer/raku/count-smaller-oneliner-my5
-rwxr-xr-xchallenge-244/arne-sommer/raku/group-hero20
6 files changed, 73 insertions, 0 deletions
diff --git a/challenge-244/arne-sommer/raku/ch-1.raku b/challenge-244/arne-sommer/raku/ch-1.raku
new file mode 100755
index 0000000000..ad0dfa5f49
--- /dev/null
+++ b/challenge-244/arne-sommer/raku/ch-1.raku
@@ -0,0 +1,5 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@int where @int.elems > 0 && all(@int) ~~ Int);
+
+say "(" ~ @int.map({ @int.grep( * < $_ ).elems }).join(", ") ~ ")";
diff --git a/challenge-244/arne-sommer/raku/ch-2.raku b/challenge-244/arne-sommer/raku/ch-2.raku
new file mode 100755
index 0000000000..168d451fb7
--- /dev/null
+++ b/challenge-244/arne-sommer/raku/ch-2.raku
@@ -0,0 +1,20 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@nums where @nums.elems > 0 && all(@nums) ~~ Int,
+ :v(:$verbose));
+
+my $group = 0;
+my $total = 0;
+
+for @nums.combinations(1..Inf) -> @candidate
+{
+ my $max = @candidate.max;
+ my $min = @candidate.min;
+ my $sum = $max ** 2 * $min;
+
+ $total += $sum;
+
+ say ": Group { ++$group }: ({ @candidate.join(",") }) => square(max({ @candidate.join(",") })) * min({ @candidate.join(",") }) => { $max ** 2 } * $min => $sum" if $verbose;
+}
+
+say $total; \ No newline at end of file
diff --git a/challenge-244/arne-sommer/raku/count-smaller b/challenge-244/arne-sommer/raku/count-smaller
new file mode 100755
index 0000000000..4cde12dc92
--- /dev/null
+++ b/challenge-244/arne-sommer/raku/count-smaller
@@ -0,0 +1,18 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@int where @int.elems > 0 && all(@int) ~~ Int,
+ :v(:$verbose));
+
+my $index = 0;
+my @output;
+
+for @int -> $int
+{
+ my $count = @int.grep( * < $int).elems;
+
+ say ": For index = { $index++ }, count of elements less $int is $count." if $verbose;
+
+ @output.push: $count;
+}
+
+say "(" ~ @output.join(", ") ~ ")";
diff --git a/challenge-244/arne-sommer/raku/count-smaller-oneliner b/challenge-244/arne-sommer/raku/count-smaller-oneliner
new file mode 100755
index 0000000000..ad0dfa5f49
--- /dev/null
+++ b/challenge-244/arne-sommer/raku/count-smaller-oneliner
@@ -0,0 +1,5 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@int where @int.elems > 0 && all(@int) ~~ Int);
+
+say "(" ~ @int.map({ @int.grep( * < $_ ).elems }).join(", ") ~ ")";
diff --git a/challenge-244/arne-sommer/raku/count-smaller-oneliner-my b/challenge-244/arne-sommer/raku/count-smaller-oneliner-my
new file mode 100755
index 0000000000..eacdc0c1e1
--- /dev/null
+++ b/challenge-244/arne-sommer/raku/count-smaller-oneliner-my
@@ -0,0 +1,5 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@int where @int.elems > 0 && all(@int) ~~ Int);
+
+say "(" ~ @int.map({ my $map = $_; @int.grep({ $_ < $map }).elems }).join(", ") ~ ")";
diff --git a/challenge-244/arne-sommer/raku/group-hero b/challenge-244/arne-sommer/raku/group-hero
new file mode 100755
index 0000000000..168d451fb7
--- /dev/null
+++ b/challenge-244/arne-sommer/raku/group-hero
@@ -0,0 +1,20 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@nums where @nums.elems > 0 && all(@nums) ~~ Int,
+ :v(:$verbose));
+
+my $group = 0;
+my $total = 0;
+
+for @nums.combinations(1..Inf) -> @candidate
+{
+ my $max = @candidate.max;
+ my $min = @candidate.min;
+ my $sum = $max ** 2 * $min;
+
+ $total += $sum;
+
+ say ": Group { ++$group }: ({ @candidate.join(",") }) => square(max({ @candidate.join(",") })) * min({ @candidate.join(",") }) => { $max ** 2 } * $min => $sum" if $verbose;
+}
+
+say $total; \ No newline at end of file