diff options
| author | Polgár Márton <polgar@astron.hu> | 2022-04-05 13:38:22 +0200 |
|---|---|---|
| committer | Polgár Márton <polgar@astron.hu> | 2022-04-05 13:38:22 +0200 |
| commit | 9e5cdd4d0bfc4bc54550cf8d49267342b2144e39 (patch) | |
| tree | f02943629e148426baed4d57f21a887e7b2627ac /challenge-159/2colours | |
| parent | 21b2771f7439710ee9a4631c40679a916ca9f723 (diff) | |
| download | perlweeklychallenge-club-9e5cdd4d0bfc4bc54550cf8d49267342b2144e39.tar.gz perlweeklychallenge-club-9e5cdd4d0bfc4bc54550cf8d49267342b2144e39.tar.bz2 perlweeklychallenge-club-9e5cdd4d0bfc4bc54550cf8d49267342b2144e39.zip | |
Week #159 solutions
Diffstat (limited to 'challenge-159/2colours')
| -rwxr-xr-x | challenge-159/2colours/raku/ch-1.raku | 9 | ||||
| -rwxr-xr-x | challenge-159/2colours/raku/ch-2.raku | 15 |
2 files changed, 24 insertions, 0 deletions
diff --git a/challenge-159/2colours/raku/ch-1.raku b/challenge-159/2colours/raku/ch-1.raku new file mode 100755 index 0000000000..07f037d7f0 --- /dev/null +++ b/challenge-159/2colours/raku/ch-1.raku @@ -0,0 +1,9 @@ +#!/usr/bin/env raku + +sub farey(Int() $n) { + my @rest = (([\,] (1..$n)) ZX/ (1..$n)).flat.unique.sort.map(*.nude.join: '/'); + ('0/1', |@rest) +} + +my $n = prompt 'Input: $n = '; +say "Output: {farey($n).join(', ')}.";
\ No newline at end of file diff --git a/challenge-159/2colours/raku/ch-2.raku b/challenge-159/2colours/raku/ch-2.raku new file mode 100755 index 0000000000..e71d651672 --- /dev/null +++ b/challenge-159/2colours/raku/ch-2.raku @@ -0,0 +1,15 @@ +#!/usr/bin/env raku + +constant \minus-one = -1; + +multi möbius(1 --> 1) {} +multi möbius($n where { .is-prime } --> minus-one) {} +multi möbius($n) { + my $divisor = (2..^$n).first($n %% *); + my $quotient = $n div $divisor; + $quotient %% $divisor ?? 0 !! möbius($divisor) * möbius($quotient) +} + + +my $n = prompt 'Input: $n = '; +say "Output: {möbius($n)}"; |
