diff options
| -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 |
