aboutsummaryrefslogtreecommitdiff
path: root/challenge-113/mark-anderson
diff options
context:
space:
mode:
authorMark A <andemark@a-iot1t.uch.ad.pvt>2021-05-17 01:56:42 -0600
committerMark A <andemark@a-iot1t.uch.ad.pvt>2021-05-17 01:56:42 -0600
commitd915566409ffcd7b36039f5bdad085ec8c5fae40 (patch)
tree8cc3b8a743711bc49c02b0eb1a98d0d0b163ad1d /challenge-113/mark-anderson
parentc3cd45087006d3f63b05219b8280a25dc1ea7ba9 (diff)
downloadperlweeklychallenge-club-d915566409ffcd7b36039f5bdad085ec8c5fae40.tar.gz
perlweeklychallenge-club-d915566409ffcd7b36039f5bdad085ec8c5fae40.tar.bz2
perlweeklychallenge-club-d915566409ffcd7b36039f5bdad085ec8c5fae40.zip
initial 113
Diffstat (limited to 'challenge-113/mark-anderson')
-rw-r--r--challenge-113/mark-anderson/raku/ch-1.raku14
-rw-r--r--challenge-113/mark-anderson/raku/ch-2.raku15
2 files changed, 29 insertions, 0 deletions
diff --git a/challenge-113/mark-anderson/raku/ch-1.raku b/challenge-113/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..e4dab315cf
--- /dev/null
+++ b/challenge-113/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,14 @@
+#!/usr/bin/env raku
+
+use Test;
+plan 2;
+
+# with help from https://www.geeksforgeeks.org/check-if-n-can-be-represented-as-sum-of-positive-integers-containing-digit-d-at-least-once/
+
+is represent-integer(25, 7), 0, 'Example 1';
+is represent-integer(24, 7), 1, 'Example 2';
+
+sub represent-integer(UInt $N, UInt $D)
+{
+ +($N, * - $D ... * <= $D).first(*.index: $D).so;
+}
diff --git a/challenge-113/mark-anderson/raku/ch-2.raku b/challenge-113/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..19a93b7077
--- /dev/null
+++ b/challenge-113/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,15 @@
+#!/usr/bin/env raku
+
+use Test;
+plan 1;
+
+my $tree = (1, (2, (4, (7))), (3, (5), (6)));
+my $result = (27, (26, (24, (21))), (25, (23), (22)));
+
+is-deeply(recreate-binary-tree($tree), $result, 'Example 1');
+
+sub recreate-binary-tree($tree)
+{
+ my $sum = $tree.flat.sum;
+ $tree.deepmap($sum - *);
+}