From fd055c59966b1c36d8d04b02c3b2a911991fa107 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Wed, 4 May 2022 00:59:30 +0000 Subject: Challenge 163 Solutions (Raku) --- challenge-163/mark-anderson/raku/ch-1.raku | 17 +++++++++++++++++ challenge-163/mark-anderson/raku/ch-2.raku | 13 +++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 challenge-163/mark-anderson/raku/ch-1.raku create mode 100644 challenge-163/mark-anderson/raku/ch-2.raku diff --git a/challenge-163/mark-anderson/raku/ch-1.raku b/challenge-163/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..75e3bd3e5c --- /dev/null +++ b/challenge-163/mark-anderson/raku/ch-1.raku @@ -0,0 +1,17 @@ +#!/usr/bin/env raku + +use Test; + +is bitwise-sum(1, 2, 3), 3; +is bitwise-sum(2, 3, 4), 2; + +# This is how I'm interpreting 'unique pairs' + +# ((2 & 2) + (2 & 3) + (2 & 4) + (3 & 3) + (3 & 4) + (4 & 4)) == 11 +is bitwise-sum(2, 2, 2, 3, 3, 3, 4, 4, 4), 11; + +sub bitwise-sum(+@n) +{ + @n.sort.combinations(2)>>.join.unique>>.comb>>.List + .map({.head +& .tail}).sum; +} diff --git a/challenge-163/mark-anderson/raku/ch-2.raku b/challenge-163/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..bf22fe3e01 --- /dev/null +++ b/challenge-163/mark-anderson/raku/ch-2.raku @@ -0,0 +1,13 @@ +#!/usr/bin/env raku + +use Test; + +is summations(1, 2, 3, 4, 5), 42; +is summations(1, 3, 5, 7, 9), 70; +is summations(1 .. 20) , 6564120420; + +sub summations(+@n) +{ + @n = [\+] @n.skip while @n > 1; + @n +} -- cgit From 3fee4dcb66d925b88838966bbaccc3e1d66d9e41 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Wed, 4 May 2022 01:17:25 +0000 Subject: Challenge 163 Solutions (Raku) --- challenge-163/mark-anderson/raku/ch-1.raku | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/challenge-163/mark-anderson/raku/ch-1.raku b/challenge-163/mark-anderson/raku/ch-1.raku index 75e3bd3e5c..4678febc1e 100644 --- a/challenge-163/mark-anderson/raku/ch-1.raku +++ b/challenge-163/mark-anderson/raku/ch-1.raku @@ -6,12 +6,11 @@ is bitwise-sum(1, 2, 3), 3; is bitwise-sum(2, 3, 4), 2; # This is how I'm interpreting 'unique pairs' - # ((2 & 2) + (2 & 3) + (2 & 4) + (3 & 3) + (3 & 4) + (4 & 4)) == 11 is bitwise-sum(2, 2, 2, 3, 3, 3, 4, 4, 4), 11; sub bitwise-sum(+@n) { @n.sort.combinations(2)>>.join.unique>>.comb>>.List - .map({.head +& .tail}).sum; + .map({.head +& .tail}).sum } -- cgit From 83defa93a4f13f3bdd72cf8d4a345797e6a9f107 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Wed, 4 May 2022 01:54:34 +0000 Subject: Challenge 163 Solutions (Raku) --- challenge-163/mark-anderson/raku/ch-1.raku | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/challenge-163/mark-anderson/raku/ch-1.raku b/challenge-163/mark-anderson/raku/ch-1.raku index 4678febc1e..047bbc50a5 100644 --- a/challenge-163/mark-anderson/raku/ch-1.raku +++ b/challenge-163/mark-anderson/raku/ch-1.raku @@ -11,6 +11,5 @@ is bitwise-sum(2, 2, 2, 3, 3, 3, 4, 4, 4), 11; sub bitwise-sum(+@n) { - @n.sort.combinations(2)>>.join.unique>>.comb>>.List - .map({.head +& .tail}).sum + @n.combinations(2).unique(:with(&[eqv])).map({.head +& .tail}).sum } -- cgit