From 7cd474a40770708dbbc10bc69a33e9698da3c97a Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 22 Nov 2021 14:01:39 +0000 Subject: Challenge 140 Solutions (Raku) --- challenge-140/mark-anderson/raku/ch-1.raku | 13 +++++++++++++ challenge-140/mark-anderson/raku/ch-2.raku | 11 +++++++++++ 2 files changed, 24 insertions(+) create mode 100644 challenge-140/mark-anderson/raku/ch-1.raku create mode 100644 challenge-140/mark-anderson/raku/ch-2.raku diff --git a/challenge-140/mark-anderson/raku/ch-1.raku b/challenge-140/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..f723af6bb9 --- /dev/null +++ b/challenge-140/mark-anderson/raku/ch-1.raku @@ -0,0 +1,13 @@ +#!/usr/bin/env raku + +# DCB = Decimal Coded Binary +subset DCB of UInt where /^ <[01]>+ $/; + +sub infix:(DCB \a, DCB \b) +{ + (a.Str.parse-base(2) + b.Str.parse-base(2)).base(2); +} + +say 11 b+ 1; +say 101 b+ 1; +say 100 b+ 11; diff --git a/challenge-140/mark-anderson/raku/ch-2.raku b/challenge-140/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..4cc7094b29 --- /dev/null +++ b/challenge-140/mark-anderson/raku/ch-2.raku @@ -0,0 +1,11 @@ +#!/usr/bin/env raku + +say kth-element-from-sorted-multiplication-table(2, 3, 4); +say kth-element-from-sorted-multiplication-table(3, 3, 6); + +sub kth-element-from-sorted-multiplication-table(\i, \j, \k) +{ + my @table; + @table[.head; .tail] = .head.succ * .tail.succ for ^i X ^j; + @table.map(|*).sort.[k-1]; +} -- cgit