diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-11-08 18:16:31 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-08 18:16:31 +0000 |
| commit | af5c2a9bf549a8b2a0ea476eb1c07a1dc4e8adbc (patch) | |
| tree | f1ad74e0076f9a2ede0c90476c40df249f175982 | |
| parent | dfcf558b2190d45a5ebf3c486a7c316dbc3e197e (diff) | |
| parent | 10e6a7aa2ac5c135eb1c6abb9c4409a9dc842b24 (diff) | |
| download | perlweeklychallenge-club-af5c2a9bf549a8b2a0ea476eb1c07a1dc4e8adbc.tar.gz perlweeklychallenge-club-af5c2a9bf549a8b2a0ea476eb1c07a1dc4e8adbc.tar.bz2 perlweeklychallenge-club-af5c2a9bf549a8b2a0ea476eb1c07a1dc4e8adbc.zip | |
Merge pull request #5180 from andemark/branch-for-challenge-138
initial
| -rw-r--r-- | challenge-138/mark-anderson/raku/ch-1.raku | 17 | ||||
| -rw-r--r-- | challenge-138/mark-anderson/raku/ch-2.raku | 24 |
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-138/mark-anderson/raku/ch-1.raku b/challenge-138/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..192b2e7822 --- /dev/null +++ b/challenge-138/mark-anderson/raku/ch-1.raku @@ -0,0 +1,17 @@ +#!/usr/bin/env raku + +say workdays(2021); +say workdays(2020); + +sub workdays($year) +{ + my $dt = Date.new($year, 1, 1); + my $days = $dt.is-leap-year ?? 366 !! 365; + + for 1..$days + { + state $wd++ if $dt.day-of-week ~~ 1..5; + $dt .= later(:1days); + LAST { return $wd } + } +} diff --git a/challenge-138/mark-anderson/raku/ch-2.raku b/challenge-138/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..0eced882d6 --- /dev/null +++ b/challenge-138/mark-anderson/raku/ch-2.raku @@ -0,0 +1,24 @@ +#!/usr/bin/env raku + +say split-number(81); +say split-number(9801); +say split-number(36); + +sub split-number($n) +{ + for terms($n.chars) + { + my @a = $n.comb.rotor($_); + next if first { .elems > 1 and .head == 0 }, @a; + return 1 if @a>>.join.sum == $n.sqrt; + } + + return 0; +} + +sub terms($u) +{ + map { + ((.fmt: '%0' ~ $u ~ 'b') ~~ m:g/(.)[$0+]?/).map(*.chars) + }, 1..2**($u-1)-1; +} |
