aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author冯昶 <fengchang@novel-supertv.com>2022-01-03 23:20:45 +0800
committer冯昶 <fengchang@novel-supertv.com>2022-01-03 23:20:45 +0800
commitbcc880330eb7fd7877eb6cd2f5d3dbb825809ec2 (patch)
tree984971230a6491f1782c60549eddb6fdd0e4923a
parentdf6d3f2c9ef7b308ba7acbf312ae2166feba871e (diff)
downloadperlweeklychallenge-club-bcc880330eb7fd7877eb6cd2f5d3dbb825809ec2.tar.gz
perlweeklychallenge-club-bcc880330eb7fd7877eb6cd2f5d3dbb825809ec2.tar.bz2
perlweeklychallenge-club-bcc880330eb7fd7877eb6cd2f5d3dbb825809ec2.zip
Challenge 146, raku solutions
-rwxr-xr-xchallenge-146/feng-chang/raku/ch-1.raku3
-rwxr-xr-xchallenge-146/feng-chang/raku/ch-2.raku16
2 files changed, 19 insertions, 0 deletions
diff --git a/challenge-146/feng-chang/raku/ch-1.raku b/challenge-146/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..acba62e935
--- /dev/null
+++ b/challenge-146/feng-chang/raku/ch-1.raku
@@ -0,0 +1,3 @@
+#!/bin/env raku
+
+put (2..∞).grep(*.is-prime)[100_00];
diff --git a/challenge-146/feng-chang/raku/ch-2.raku b/challenge-146/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..86f1c53b16
--- /dev/null
+++ b/challenge-146/feng-chang/raku/ch-2.raku
@@ -0,0 +1,16 @@
+#!/bin/env raku
+
+unit sub MAIN(Rat:D \r);
+
+put "parent: {r.&parent.&toStr} " ~
+ "grandparent: {r.&parent.&parent.&toStr}";
+
+my method parent(Rat:D \r : --> Rat:D) {
+ r < 1 ??
+ r.numerator/(r.denominator - r.numerator) !!
+ (r.numerator - r.denominator)/r.denominator
+}
+
+my method toStr(Rat:D \r : --> Str:D) {
+ "{r.numerator}/{r.denominator}"
+}