aboutsummaryrefslogtreecommitdiff
path: root/challenge-059
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-059')
-rw-r--r--challenge-059/mark-anderson/perl/ch-2.pl14
-rw-r--r--challenge-059/mark-anderson/raku/ch-2.p66
2 files changed, 15 insertions, 5 deletions
diff --git a/challenge-059/mark-anderson/perl/ch-2.pl b/challenge-059/mark-anderson/perl/ch-2.pl
new file mode 100644
index 0000000000..bdbaf4b42d
--- /dev/null
+++ b/challenge-059/mark-anderson/perl/ch-2.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl
+
+use Modern::Perl;
+use Algorithm::Combinatorics 'combinations';
+
+my @list = (2, 3, 4);
+
+my $sum;
+
+for my $ref (combinations(\@list, 2)) {
+ $sum += sprintf("%b", $ref->[0] ^ $ref->[1]) =~ tr/1//;
+}
+
+say $sum;
diff --git a/challenge-059/mark-anderson/raku/ch-2.p6 b/challenge-059/mark-anderson/raku/ch-2.p6
index 632161f883..e34cb5aab6 100644
--- a/challenge-059/mark-anderson/raku/ch-2.p6
+++ b/challenge-059/mark-anderson/raku/ch-2.p6
@@ -5,11 +5,7 @@ my @list = (2, 3, 4);
my $sum;
for @list.combinations(2) -> ($n1, $n2) {
- $sum += f($n1, $n2);
+ $sum += ($n1 +^ $n2).fmt("%b").comb("1").elems;
}
say $sum;
-
-sub f ($n1, $n2) {
- ($n1 +^ $n2).fmt("%b").comb("1").elems;
-}