aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author冯昶 <fengchang@novel-supertv.com>2022-11-21 19:20:33 +0800
committer冯昶 <fengchang@novel-supertv.com>2022-11-21 19:20:33 +0800
commitab86eedcbdc4bccfd7e51228ea65cfd9cadf6ac0 (patch)
tree8500051c0ec285700698195fa00948100c2efa05
parent8ea75399a70f8ab625f105a9d5ca011759e9dc19 (diff)
downloadperlweeklychallenge-club-ab86eedcbdc4bccfd7e51228ea65cfd9cadf6ac0.tar.gz
perlweeklychallenge-club-ab86eedcbdc4bccfd7e51228ea65cfd9cadf6ac0.tar.bz2
perlweeklychallenge-club-ab86eedcbdc4bccfd7e51228ea65cfd9cadf6ac0.zip
challenge 192, raku solutions
-rwxr-xr-xchallenge-192/feng-chang/raku/ch-1.raku5
-rwxr-xr-xchallenge-192/feng-chang/raku/ch-1a.raku5
-rwxr-xr-xchallenge-192/feng-chang/raku/ch-2.raku7
3 files changed, 17 insertions, 0 deletions
diff --git a/challenge-192/feng-chang/raku/ch-1.raku b/challenge-192/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..e3766da4dc
--- /dev/null
+++ b/challenge-192/feng-chang/raku/ch-1.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(UInt:D \N);
+
+put N.base(2).comb.map(1-*).join.parse-base(2);
diff --git a/challenge-192/feng-chang/raku/ch-1a.raku b/challenge-192/feng-chang/raku/ch-1a.raku
new file mode 100755
index 0000000000..809267e71d
--- /dev/null
+++ b/challenge-192/feng-chang/raku/ch-1a.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(UInt:D \N);
+
+put ('1' x N.base(2).chars).parse-base(2) - N;
diff --git a/challenge-192/feng-chang/raku/ch-2.raku b/challenge-192/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..2bf4d9c0a1
--- /dev/null
+++ b/challenge-192/feng-chang/raku/ch-2.raku
@@ -0,0 +1,7 @@
+#!/bin/env raku
+
+unit sub MAIN(*@N where .all ~~ UInt);
+
+put @N.sum %% +@N ??
+ (^+@N).map({ abs((@N[$_] - @N.sum div +@N) * ($_ - (+@N - 1) / 2)) }).sum !!
+ -1;