diff options
| author | Andrey Shitov <ash@imacm3.kpn> | 2024-02-28 11:32:19 +0100 |
|---|---|---|
| committer | Andrey Shitov <ash@imacm3.kpn> | 2024-02-28 11:32:19 +0100 |
| commit | d09dc9eae124b2b0a79e6d63ad26df321bb7dfe1 (patch) | |
| tree | f6d35cf737930e0f930ef525ca7774418ea61318 | |
| parent | 3d74bbdcd76c01caf50ee28425bf635326793163 (diff) | |
| download | perlweeklychallenge-club-d09dc9eae124b2b0a79e6d63ad26df321bb7dfe1.tar.gz perlweeklychallenge-club-d09dc9eae124b2b0a79e6d63ad26df321bb7dfe1.tar.bz2 perlweeklychallenge-club-d09dc9eae124b2b0a79e6d63ad26df321bb7dfe1.zip | |
Week 258, solutions by ash in Raku
| -rw-r--r-- | challenge-258/ash/raku/ch-1.raku | 17 | ||||
| -rw-r--r-- | challenge-258/ash/raku/ch-2.raku | 23 |
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-258/ash/raku/ch-1.raku b/challenge-258/ash/raku/ch-1.raku new file mode 100644 index 0000000000..aee233359f --- /dev/null +++ b/challenge-258/ash/raku/ch-1.raku @@ -0,0 +1,17 @@ +# Solution to the Task 1 of the Weekly Challenge #258 +# https://theweeklychallenge.org/blog/perl-weekly-challenge-258/#TASK1 + +# Test run: +# $ raku ch-1.raku +# 3 + +my @ints = 10, 1, 111, 24, 1000; # 3 +# my @ints = 111, 1, 11111; # 0 +# my @ints = 2, 8, 1024, 256; # 1 + +say ( + @ints.grep( + *.chars %% 2 + ) + .elems + ); diff --git a/challenge-258/ash/raku/ch-2.raku b/challenge-258/ash/raku/ch-2.raku new file mode 100644 index 0000000000..b7e4c1dd33 --- /dev/null +++ b/challenge-258/ash/raku/ch-2.raku @@ -0,0 +1,23 @@ +# Solution to the Task 2 of the Weekly Challenge #258 +# https://theweeklychallenge.org/blog/perl-weekly-challenge-258/#TASK2 + +# Test run: +# $ raku ch-2.raku +# 17 + +my @ints = 2, 5, 9, 11, 3; +my $k = 1; # 17 +# my $k = 2; # 11 +# my $k = 0; # 2 + +if $k { + my @indices = ( + (1..*).grep({ + $_.base(2).comb.grep(/1/).elems == $k + }) + )[^@ints]; + say [+](@ints[@indices].grep: *.defined); +} +else { + say @ints[0]; # Otherwise no @indices will be ever filled. +} |
