aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author冯昶 <seaker@qq.com>2021-08-05 14:35:32 +0800
committer冯昶 <seaker@qq.com>2021-08-05 14:35:32 +0800
commitc728f4162f1bdac42fe8e07eba1dcc4fb92d518b (patch)
tree9de8987cbdcc4e3426303dcf5107500ce2aa9697
parent631e58569a912c73ebfa49da8ab35bfad5980f50 (diff)
downloadperlweeklychallenge-club-c728f4162f1bdac42fe8e07eba1dcc4fb92d518b.tar.gz
perlweeklychallenge-club-c728f4162f1bdac42fe8e07eba1dcc4fb92d518b.tar.bz2
perlweeklychallenge-club-c728f4162f1bdac42fe8e07eba1dcc4fb92d518b.zip
challenge #123, raku solutions
-rwxr-xr-xchallenge-124/feng-chang/raku/ch-1.raku9
-rwxr-xr-xchallenge-124/feng-chang/raku/ch-2.raku17
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-124/feng-chang/raku/ch-1.raku b/challenge-124/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..b4523b9220
--- /dev/null
+++ b/challenge-124/feng-chang/raku/ch-1.raku
@@ -0,0 +1,9 @@
+#!/bin/env raku
+
+for '14322222341000100'.comb».UInt -> $c {
+ given $c {
+ when 0 { put ' ^' }
+ when 1 { put ' ^^^^^' }
+ default { put ' ' x ($c - 2), '^', ' ' x (13 - $c * 2), '^' }
+ }
+}
diff --git a/challenge-124/feng-chang/raku/ch-2.raku b/challenge-124/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..3a0d747519
--- /dev/null
+++ b/challenge-124/feng-chang/raku/ch-2.raku
@@ -0,0 +1,17 @@
+#!/bin/env raku
+
+sub MAIN(*@N) {
+ my UInt $num = @N.elems div 2;
+ my Int $sum = @N.sum;
+ my UInt $min = @N.combinations($num).map({ abs($sum - 2 * $_.sum) }).min;
+
+ @N.combinations($num).map({
+ if abs($sum - 2 * $_.sum) == $min {
+ put $_.join(' ');
+ put (@N (-) $_).keys.join(' ');
+ put ' = ' x 3;
+ }
+ });
+}
+
+# todo: when size is even, output should be cut to half