aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-10-26 04:23:10 +0100
committerGitHub <noreply@github.com>2021-10-26 04:23:10 +0100
commitb729464cde3d608d223a69e584872df0df10bce1 (patch)
treefec576d8c59d196fcdda74084e4514cc1e5c9b0a
parentbb78506451a94d8cdddce462345c0ea02dd78b63 (diff)
parent3597b04e7b51e87df46f2bae77e3421f694977f7 (diff)
downloadperlweeklychallenge-club-b729464cde3d608d223a69e584872df0df10bce1.tar.gz
perlweeklychallenge-club-b729464cde3d608d223a69e584872df0df10bce1.tar.bz2
perlweeklychallenge-club-b729464cde3d608d223a69e584872df0df10bce1.zip
Merge pull request #5101 from andemark/branch-for-challenge-136
Challenge 136 Solutions (Raku)
-rw-r--r--challenge-136/mark-anderson/raku/ch-1.raku13
-rw-r--r--challenge-136/mark-anderson/raku/ch-2.raku19
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-136/mark-anderson/raku/ch-1.raku b/challenge-136/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..59f55c91a0
--- /dev/null
+++ b/challenge-136/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,13 @@
+#!/usr/bin/env raku
+
+use Test;
+plan 3;
+
+is two-friendly(8, 24), 1, 'Example 1';
+is two-friendly(26, 39), 0, 'Example 2';
+is two-friendly(4, 10), 1, 'Example 3';
+
+sub two-friendly($m, $n)
+{
+ +(log2($m gcd $n).narrow ~~ UInt);
+}
diff --git a/challenge-136/mark-anderson/raku/ch-2.raku b/challenge-136/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..dff7f97a72
--- /dev/null
+++ b/challenge-136/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+use Test;
+plan 3;
+
+for 16 => 4, 9 => 2, 15 => 2
+{
+ is +fibonacci-sums(.key), .value, "Example " ~ ++$;
+}
+
+sub fibonacci-sums($n)
+{
+ my $fib := 1, 2, { $^a + $^b } ... { $n - $^a < $^b };
+
+ gather for $fib.combinations.skip
+ {
+ .take if .sum == $n;
+ }
+}