diff options
| author | Polgár Márton <polgar@astron.hu> | 2022-07-29 10:06:49 +0200 |
|---|---|---|
| committer | Polgár Márton <polgar@astron.hu> | 2022-07-29 10:06:49 +0200 |
| commit | beac00e56ebf4d48ed491de4fc65db5feff8ec5c (patch) | |
| tree | 19c7371100fad624737a264a909c9b062d49ea24 | |
| parent | 8d29325bba2ffe2efdbe4631f5b91b4939ced022 (diff) | |
| download | perlweeklychallenge-club-beac00e56ebf4d48ed491de4fc65db5feff8ec5c.tar.gz perlweeklychallenge-club-beac00e56ebf4d48ed491de4fc65db5feff8ec5c.tar.bz2 perlweeklychallenge-club-beac00e56ebf4d48ed491de4fc65db5feff8ec5c.zip | |
Weekly solutions (175) by 2colours
| -rwxr-xr-x | challenge-175/2colours/raku/ch-1.raku | 15 | ||||
| -rwxr-xr-x | challenge-175/2colours/raku/ch-2.raku | 21 |
2 files changed, 36 insertions, 0 deletions
diff --git a/challenge-175/2colours/raku/ch-1.raku b/challenge-175/2colours/raku/ch-1.raku new file mode 100755 index 0000000000..97ee0082d1 --- /dev/null +++ b/challenge-175/2colours/raku/ch-1.raku @@ -0,0 +1,15 @@ +#!/usr/bin/env raku + +sub MAIN( + Int $year = DateTime.now.year #= the year to check +) { + (1 .. 12) + .map: { + Date.new: :$year, month => $_ andthen + .last-date-in-month andthen + .earlier: day => .day-of-week % 7 + } andthen + .map: *.Str andthen + .join: "\n" andthen + .say; +}
\ No newline at end of file diff --git a/challenge-175/2colours/raku/ch-2.raku b/challenge-175/2colours/raku/ch-2.raku new file mode 100755 index 0000000000..55f646345a --- /dev/null +++ b/challenge-175/2colours/raku/ch-2.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +use experimental :cached; + +sub totient($n) is cached { + (1 ..^ $n) + .grep: * gcd $n == 1 andthen + .elems +} + +sub iterated-totient-sum($n) { + $n, *.&totient ... 1 andthen + .skip + .sum +} + +(1 .. *) + .grep: { .&iterated-totient-sum == $_} andthen + .head: 20 andthen + .join: ', ' andthen + .say;
\ No newline at end of file |
