aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordeadmarshal <adeadmarshal@gmail.com>2024-02-27 09:49:36 -0500
committerdeadmarshal <adeadmarshal@gmail.com>2024-02-27 09:49:36 -0500
commit8380fe8047ac96ff1ac6cdfdc963c3dd2372ea6e (patch)
tree9a172b0e7078bc1633774b1744003c8e9422b681
parentb96b84242ffb5863a5762c6bc971ba26231602e8 (diff)
downloadperlweeklychallenge-club-8380fe8047ac96ff1ac6cdfdc963c3dd2372ea6e.tar.gz
perlweeklychallenge-club-8380fe8047ac96ff1ac6cdfdc963c3dd2372ea6e.tar.bz2
perlweeklychallenge-club-8380fe8047ac96ff1ac6cdfdc963c3dd2372ea6e.zip
TWC258
-rw-r--r--challenge-258/deadmarshal/blog.txt1
-rw-r--r--challenge-258/deadmarshal/perl/ch-1.pl12
-rw-r--r--challenge-258/deadmarshal/perl/ch-2.pl14
-rw-r--r--challenge-258/deadmarshal/raku/ch-1.raku11
-rw-r--r--challenge-258/deadmarshal/raku/ch-2.raku11
5 files changed, 49 insertions, 0 deletions
diff --git a/challenge-258/deadmarshal/blog.txt b/challenge-258/deadmarshal/blog.txt
new file mode 100644
index 0000000000..3bbdd23e14
--- /dev/null
+++ b/challenge-258/deadmarshal/blog.txt
@@ -0,0 +1 @@
+https://deadmarshal.blogspot.com/2024/02/twc258.html
diff --git a/challenge-258/deadmarshal/perl/ch-1.pl b/challenge-258/deadmarshal/perl/ch-1.pl
new file mode 100644
index 0000000000..19e1d188d8
--- /dev/null
+++ b/challenge-258/deadmarshal/perl/ch-1.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+sub count_even_digits_number{
+ scalar grep{(split'',$_)%2==0}@{$_[0]}
+}
+
+printf "%d\n",count_even_digits_number([10,1,111,24,1000]);
+printf "%d\n",count_even_digits_number([111,1,11111]);
+printf "%d\n",count_even_digits_number([2,8,1024,256]);
+
diff --git a/challenge-258/deadmarshal/perl/ch-2.pl b/challenge-258/deadmarshal/perl/ch-2.pl
new file mode 100644
index 0000000000..f2f19d35df
--- /dev/null
+++ b/challenge-258/deadmarshal/perl/ch-2.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use ntheory qw(hammingweight);
+use List::Util qw(sum0);
+
+sub sum_of_values{
+ sum0 map{hammingweight$_==$_[1]?$_[0]->[$_]:()}0..$#{$_[0]}
+}
+
+printf "%d\n",sum_of_values([2,5,9,11,3],1);
+printf "%d\n",sum_of_values([2,5,9,11,3],2);
+printf "%d\n",sum_of_values([2,5,9,11,3],0);
+
diff --git a/challenge-258/deadmarshal/raku/ch-1.raku b/challenge-258/deadmarshal/raku/ch-1.raku
new file mode 100644
index 0000000000..e51a0f528c
--- /dev/null
+++ b/challenge-258/deadmarshal/raku/ch-1.raku
@@ -0,0 +1,11 @@
+#!/usr/bin/env raku
+
+sub count-even-digits-number(@arr)
+{
+ @arr.grep({.comb.elems %% 2}).elems
+}
+
+say count-even-digits-number([10,1,111,24,1000]);
+say count-even-digits-number([111,1,11111]);
+say count-even-digits-number([2,8,1024,256]);
+
diff --git a/challenge-258/deadmarshal/raku/ch-2.raku b/challenge-258/deadmarshal/raku/ch-2.raku
new file mode 100644
index 0000000000..15a920a99b
--- /dev/null
+++ b/challenge-258/deadmarshal/raku/ch-2.raku
@@ -0,0 +1,11 @@
+#!/usr/bin/env raku
+
+sub sum-of-values(@arr,$k)
+{
+ [+] (0..@arr.end).map: {([+] .base(2).comb) == $k ?? @arr[$_] !! ()}
+}
+
+say sum-of-values([2,5,9,11,3],1);
+say sum-of-values([2,5,9,11,3],2);
+say sum-of-values([2,5,9,11,3],0);
+