diff options
| author | wambash <wamba@centrum.cz> | 2022-04-09 18:17:00 +0200 |
|---|---|---|
| committer | wambash <wamba@centrum.cz> | 2022-04-09 18:17:00 +0200 |
| commit | 3de3e9fe3a6f89f8cff77c678e739d8e38a07943 (patch) | |
| tree | 176f175543dcbe056be05e927db3011f826d4343 | |
| parent | a203f57e4ee1fca70d88bb91e58fbdda30493d69 (diff) | |
| download | perlweeklychallenge-club-3de3e9fe3a6f89f8cff77c678e739d8e38a07943.tar.gz perlweeklychallenge-club-3de3e9fe3a6f89f8cff77c678e739d8e38a07943.tar.bz2 perlweeklychallenge-club-3de3e9fe3a6f89f8cff77c678e739d8e38a07943.zip | |
solution 159-1
| -rw-r--r-- | challenge-159/wambash/raku/ch-1.raku | 25 |
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 +} |
