aboutsummaryrefslogtreecommitdiff
path: root/challenge-146
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-01-09 10:09:04 +0000
committerGitHub <noreply@github.com>2022-01-09 10:09:04 +0000
commit308676eaa1c2e44f467c1c64fa4731f88576b7b2 (patch)
tree31d5fff5bfec0fd83400ce7019b071ff4e68ddcf /challenge-146
parentf2e062cd585f30ecbcf0257e72ccb8f0c82136a7 (diff)
parent2a8a2434896d98d8f59ff739fab15405a191f76b (diff)
downloadperlweeklychallenge-club-308676eaa1c2e44f467c1c64fa4731f88576b7b2.tar.gz
perlweeklychallenge-club-308676eaa1c2e44f467c1c64fa4731f88576b7b2.tar.bz2
perlweeklychallenge-club-308676eaa1c2e44f467c1c64fa4731f88576b7b2.zip
Merge pull request #5485 from wambash/challenge-week-146
solutions week 146
Diffstat (limited to 'challenge-146')
-rw-r--r--challenge-146/wambash/raku/ch-1.raku22
-rw-r--r--challenge-146/wambash/raku/ch-2.raku27
2 files changed, 49 insertions, 0 deletions
diff --git a/challenge-146/wambash/raku/ch-1.raku b/challenge-146/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..aa8c9f75ba
--- /dev/null
+++ b/challenge-146/wambash/raku/ch-1.raku
@@ -0,0 +1,22 @@
+#!/usr/bin/env raku
+
+constant @prime = ^Inf .grep: *.is-prime;
+
+sub n-prime-number ($n=10001) {
+ @prime
+ andthen .skip: $n-1
+ andthen .head
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is n-prime-number(1),2;
+ is n-prime-number(2),3;
+ is n-prime-number(6),13;
+ is n-prime-number(), 104_743;
+ done-testing;
+}
+
+multi MAIN ($n=10001) {
+ say n-prime-number $n
+}
diff --git a/challenge-146/wambash/raku/ch-2.raku b/challenge-146/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..167ec464d6
--- /dev/null
+++ b/challenge-146/wambash/raku/ch-2.raku
@@ -0,0 +1,27 @@
+#!/usr/bin/env raku
+
+multi sub parent (Rat $r where * > 1) {
+ $r - 1
+}
+
+multi sub parent (Rat $r) {
+ $r / (1-$r)
+}
+
+sub curious-fraction-tree (Rat $member) {
+ $member, *.&parent ... 1
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is curious-fraction-tree(3/5), (3/5, 3/2, 1/2, 1);
+ is curious-fraction-tree(4/3), (4/3, 1/3, 1/2, 1);
+ is curious-fraction-tree(121/155), (121/155, 121/34, 87/34, 53/34, 19/34, 19/15, 4/15, 4/11, 4/7, 4/3, 1/3, 1/2, 1);
+ done-testing;
+}
+
+multi MAIN ($member) {
+ curious-fraction-tree $member
+ andthen .map: *.nude.join: '/'
+ andthen .put
+}