aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-03-01 10:17:58 +0000
committerGitHub <noreply@github.com>2024-03-01 10:17:58 +0000
commita6dfa08f00229a9ca8c423e3829253e3b7d398df (patch)
tree476afc2724516e6fc5e49ba5c0c46213678e89e5
parentcc246d15eab6cadf31c5a466c1ddf155fca27003 (diff)
parent120ae5f25d652ffe24b80fb22f13c4505a93bf7a (diff)
downloadperlweeklychallenge-club-a6dfa08f00229a9ca8c423e3829253e3b7d398df.tar.gz
perlweeklychallenge-club-a6dfa08f00229a9ca8c423e3829253e3b7d398df.tar.bz2
perlweeklychallenge-club-a6dfa08f00229a9ca8c423e3829253e3b7d398df.zip
Merge pull request #9676 from jaldhar/challenge-258
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