diff options
| author | Jaldhar H. Vyas <jaldhar@braincells.com> | 2024-03-01 00:41:06 -0500 |
|---|---|---|
| committer | Jaldhar H. Vyas <jaldhar@braincells.com> | 2024-03-01 00:41:06 -0500 |
| commit | 120ae5f25d652ffe24b80fb22f13c4505a93bf7a (patch) | |
| tree | b75137341977c36593553577d3a8bb90235e4e65 | |
| parent | 3302325040f623c591a1694e875c8758f6be9926 (diff) | |
| download | perlweeklychallenge-club-120ae5f25d652ffe24b80fb22f13c4505a93bf7a.tar.gz perlweeklychallenge-club-120ae5f25d652ffe24b80fb22f13c4505a93bf7a.tar.bz2 perlweeklychallenge-club-120ae5f25d652ffe24b80fb22f13c4505a93bf7a.zip | |
Challenge 258 by Jaldhar H. Vyas.
| -rw-r--r-- | challenge-258/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-258/jaldhar-h-vyas/perl/ch-1.sh | 3 | ||||
| -rwxr-xr-x | challenge-258/jaldhar-h-vyas/perl/ch-2.pl | 21 | ||||
| -rwxr-xr-x | challenge-258/jaldhar-h-vyas/raku/ch-1.sh | 3 | ||||
| -rwxr-xr-x | challenge-258/jaldhar-h-vyas/raku/ch-2.raku | 19 |
5 files changed, 47 insertions, 0 deletions
diff --git a/challenge-258/jaldhar-h-vyas/blog.txt b/challenge-258/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..f40a3d30af --- /dev/null +++ b/challenge-258/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2024/03/perl_weekly_challenge_week_258.html diff --git a/challenge-258/jaldhar-h-vyas/perl/ch-1.sh b/challenge-258/jaldhar-h-vyas/perl/ch-1.sh new file mode 100755 index 0000000000..b57d180ccb --- /dev/null +++ b/challenge-258/jaldhar-h-vyas/perl/ch-1.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +perl -E 'say scalar grep{(length $_)%2==0}@ARGV' "$@"
\ No newline at end of file diff --git a/challenge-258/jaldhar-h-vyas/perl/ch-2.pl b/challenge-258/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..53e734ccab --- /dev/null +++ b/challenge-258/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +sub sum { + my $total; + for my $n (@_) { + $total += $n; + } + + return $total; +} + +my $k = shift; +my @ints = @ARGV; + +say sum( + map { $ints[oct "0b$_"] } + grep { scalar (grep { $_ == 1 } (split //, $_)) == $k } + map { sprintf '%b', $_ } keys @ints +); diff --git a/challenge-258/jaldhar-h-vyas/raku/ch-1.sh b/challenge-258/jaldhar-h-vyas/raku/ch-1.sh new file mode 100755 index 0000000000..619ac28bda --- /dev/null +++ b/challenge-258/jaldhar-h-vyas/raku/ch-1.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e '@*ARGS.grep({$_.chars%%2}).elems.say' "$@"
\ No newline at end of file diff --git a/challenge-258/jaldhar-h-vyas/raku/ch-2.raku b/challenge-258/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..bf44e36534 --- /dev/null +++ b/challenge-258/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,19 @@ +#!/usr/bin/raku + +sub MAIN( + $k, + *@ints +) { + @ints + .keys + .map({ $_.base(2) }) + .grep({ + $_ + .comb + .grep({ $_ == 1 }) + .elems == $k + }) + .map({ @ints["0b$_"] }) + .sum + .say; +}
\ No newline at end of file |
