aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2024-03-01 00:41:06 -0500
committerJaldhar H. Vyas <jaldhar@braincells.com>2024-03-01 00:41:06 -0500
commit120ae5f25d652ffe24b80fb22f13c4505a93bf7a (patch)
treeb75137341977c36593553577d3a8bb90235e4e65
parent3302325040f623c591a1694e875c8758f6be9926 (diff)
downloadperlweeklychallenge-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.txt1
-rwxr-xr-xchallenge-258/jaldhar-h-vyas/perl/ch-1.sh3
-rwxr-xr-xchallenge-258/jaldhar-h-vyas/perl/ch-2.pl21
-rwxr-xr-xchallenge-258/jaldhar-h-vyas/raku/ch-1.sh3
-rwxr-xr-xchallenge-258/jaldhar-h-vyas/raku/ch-2.raku19
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