aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-07-29 09:32:26 +0100
committerGitHub <noreply@github.com>2022-07-29 09:32:26 +0100
commiteabdf5122fecf516e18299493d08a884cd6a2eda (patch)
treeb465e1c2a1fda75566d467458a5a289ec428bf07
parent5ac04a75b8ef71aede144770fc4a963f82766751 (diff)
parentbeac00e56ebf4d48ed491de4fc65db5feff8ec5c (diff)
downloadperlweeklychallenge-club-eabdf5122fecf516e18299493d08a884cd6a2eda.tar.gz
perlweeklychallenge-club-eabdf5122fecf516e18299493d08a884cd6a2eda.tar.bz2
perlweeklychallenge-club-eabdf5122fecf516e18299493d08a884cd6a2eda.zip
Merge pull request #6516 from 2colours/branch-for-challenge-175
Weekly solutions (175) by 2colours
-rwxr-xr-xchallenge-175/2colours/raku/ch-1.raku15
-rwxr-xr-xchallenge-175/2colours/raku/ch-2.raku21
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