diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2021-05-22 19:17:15 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2021-05-22 19:17:15 +0200 |
| commit | 011798762535cc369d27d929d9e9653994a12f3c (patch) | |
| tree | 635c9a1a3d92ad148ba0c939e46be1c6e1fabdd9 /challenge-113 | |
| parent | 1720995a5127b6d99fad5334b6ba8983c06693b2 (diff) | |
| download | perlweeklychallenge-club-011798762535cc369d27d929d9e9653994a12f3c.tar.gz perlweeklychallenge-club-011798762535cc369d27d929d9e9653994a12f3c.tar.bz2 perlweeklychallenge-club-011798762535cc369d27d929d9e9653994a12f3c.zip | |
solutions week 113
Diffstat (limited to 'challenge-113')
| -rw-r--r-- | challenge-113/wambash/raku/ch-1.raku | 19 | ||||
| -rw-r--r-- | challenge-113/wambash/raku/ch-2.raku | 17 |
2 files changed, 36 insertions, 0 deletions
diff --git a/challenge-113/wambash/raku/ch-1.raku b/challenge-113/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..d90f0e3900 --- /dev/null +++ b/challenge-113/wambash/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub represent-integer ( $n, $d ) { + 1 .. $n + andthen .grep: *.comb.any == $d + andthen .sum + andthen $_ == $n +} + +multi MAIN ( $n, $d ) { + say represent-integer $n, $d +} + +multi MAIN ( :test($)! ) { + use Test; + is represent-integer( 25, 7 ), False; + is represent-integer( 24, 7 ), True; + done-testing; +} diff --git a/challenge-113/wambash/raku/ch-2.raku b/challenge-113/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..3ef6975113 --- /dev/null +++ b/challenge-113/wambash/raku/ch-2.raku @@ -0,0 +1,17 @@ +#!/usr/bin/env raku + +sub recreate-binary-tree ($tree) { + my $tree-sum = sum gather $tree.duckmap: -> Numeric:D $n { $n.take } ; + $tree.duckmap: -> Numeric:D $n { $tree-sum - $n } +} + + +multi MAIN ( :test($)! ) { + use Test; + + my $tree = ( 1,( 2,( 4,Nil, 7),( 3, 5, 6))); + my $recreate-tree = (27,(26,(24,Nil,21),(25,23,22))); + + is-deeply recreate-binary-tree($tree), $recreate-tree; + done-testing; +} |
