From 3de3e9fe3a6f89f8cff77c678e739d8e38a07943 Mon Sep 17 00:00:00 2001 From: wambash Date: Sat, 9 Apr 2022 18:17:00 +0200 Subject: solution 159-1 --- challenge-159/wambash/raku/ch-1.raku | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 challenge-159/wambash/raku/ch-1.raku 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 +} -- cgit