From 03ae69ae56d77043a61a7a5747eb3fa05da50785 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 25 Oct 2021 11:30:07 +0000 Subject: Challenge 136 Solutions (Raku) --- challenge-136/mark-anderson/raku/ch-1.raku | 14 ++++++++++++++ challenge-136/mark-anderson/raku/ch-2.raku | 19 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 challenge-136/mark-anderson/raku/ch-1.raku create mode 100644 challenge-136/mark-anderson/raku/ch-2.raku 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..7fcc297121 --- /dev/null +++ b/challenge-136/mark-anderson/raku/ch-1.raku @@ -0,0 +1,14 @@ +#!/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) +{ + my $gcd = $m gcd $n; + +(log2($gcd).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; + } +} -- cgit From 3597b04e7b51e87df46f2bae77e3421f694977f7 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 25 Oct 2021 11:57:49 +0000 Subject: Challenge 136 Solutions (Raku) --- challenge-136/mark-anderson/raku/ch-1.raku | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/challenge-136/mark-anderson/raku/ch-1.raku b/challenge-136/mark-anderson/raku/ch-1.raku index 7fcc297121..59f55c91a0 100644 --- a/challenge-136/mark-anderson/raku/ch-1.raku +++ b/challenge-136/mark-anderson/raku/ch-1.raku @@ -9,6 +9,5 @@ is two-friendly(4, 10), 1, 'Example 3'; sub two-friendly($m, $n) { - my $gcd = $m gcd $n; - +(log2($gcd).narrow ~~ UInt); + +(log2($m gcd $n).narrow ~~ UInt); } -- cgit