aboutsummaryrefslogtreecommitdiff
path: root/challenge-159
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-04-11 00:32:09 +0100
committerGitHub <noreply@github.com>2022-04-11 00:32:09 +0100
commitda2775d6481db935831c7abb035b2027c6caebf2 (patch)
tree1ad505276d1b0b80232377ce130601311e0f21a9 /challenge-159
parente88598dbf41e75b9edd8eab6db6271ef94835d6f (diff)
parent3de3e9fe3a6f89f8cff77c678e739d8e38a07943 (diff)
downloadperlweeklychallenge-club-da2775d6481db935831c7abb035b2027c6caebf2.tar.gz
perlweeklychallenge-club-da2775d6481db935831c7abb035b2027c6caebf2.tar.bz2
perlweeklychallenge-club-da2775d6481db935831c7abb035b2027c6caebf2.zip
Merge pull request #5909 from wambash/challenge-week-159
solution 159-1
Diffstat (limited to 'challenge-159')
-rw-r--r--challenge-159/wambash/raku/ch-1.raku25
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-159/wambash/raku/ch-1.raku b/challenge-159/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..8d2b1c0c5e
--- /dev/null
+++ b/challenge-159/wambash/raku/ch-1.raku
@@ -0,0 +1,25 @@
+#!/usr/bin/env raku
+
+sub farrey-sequence ($n) {
+ 1..$n
+ andthen .combinations(2)
+ andthen .map: { [/] $_ }\
+ andthen 0/1,|.sort, 1/1
+ andthen .squish
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is farrey-sequence(2), (0/1, 1/2, 1/1);
+ is farrey-sequence(5), (0/1, 1/5, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 1/1);
+ is farrey-sequence(7), (0/1, 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, 2/5, 3/7, 1/2, 4/7, 3/5, 2/3, 5/7, 3/4, 4/5, 5/6, 6/7, 1/1);
+ is farrey-sequence(4), (0/1, 1/4, 1/3, 1/2, 2/3, 3/4, 1/1);
+ done-testing;
+}
+
+multi MAIN (UInt $n) {
+ farrey-sequence $n
+ andthen .map: *.nude
+ andthen .map: *.fmt: '%d','/'
+ andthen .put
+}