aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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}"
+}