aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-03-04 00:17:58 +0000
committerGitHub <noreply@github.com>2024-03-04 00:17:58 +0000
commit4597936d06c260bebd4f5922abc56c1067fc504f (patch)
tree1eec2e05a624b182b94b2222a6b2bd3865a0bc73
parent294419e7a4ddf2ce599ed9b11cd16415381d6ea1 (diff)
parent1fb42bbda030454109a2236778ee652c2e3a6392 (diff)
downloadperlweeklychallenge-club-4597936d06c260bebd4f5922abc56c1067fc504f.tar.gz
perlweeklychallenge-club-4597936d06c260bebd4f5922abc56c1067fc504f.tar.bz2
perlweeklychallenge-club-4597936d06c260bebd4f5922abc56c1067fc504f.zip
Merge pull request #9687 from adamcrussell/challenge-258
initial commit
-rw-r--r--challenge-258/adam-russell/blog.txt1
-rw-r--r--challenge-258/adam-russell/perl/ch-1.pl19
-rw-r--r--challenge-258/adam-russell/perl/ch-2.pl34
3 files changed, 54 insertions, 0 deletions
diff --git a/challenge-258/adam-russell/blog.txt b/challenge-258/adam-russell/blog.txt
new file mode 100644
index 0000000000..f463d23f1e
--- /dev/null
+++ b/challenge-258/adam-russell/blog.txt
@@ -0,0 +1 @@
+http://www.rabbitfarm.com/cgi-bin/blosxom/perl/2024/03/03 \ No newline at end of file
diff --git a/challenge-258/adam-russell/perl/ch-1.pl b/challenge-258/adam-russell/perl/ch-1.pl
new file mode 100644
index 0000000000..b176d1cbbd
--- /dev/null
+++ b/challenge-258/adam-russell/perl/ch-1.pl
@@ -0,0 +1,19 @@
+
+
+use v5.38;
+
+
+sub count_even_digits{
+ return 0 +
+ grep {
+ my $x = $_; $x =~ tr/[0-9]//d % 2 == 0
+ } @_;
+}
+
+
+MAIN:{
+ say count_even_digits 10, 1, 111, 24, 1000;
+ say count_even_digits 111, 1, 11111;
+ say count_even_digits 2, 8, 1024, 256;
+}
+
diff --git a/challenge-258/adam-russell/perl/ch-2.pl b/challenge-258/adam-russell/perl/ch-2.pl
new file mode 100644
index 0000000000..325cdd8cd4
--- /dev/null
+++ b/challenge-258/adam-russell/perl/ch-2.pl
@@ -0,0 +1,34 @@
+
+
+use v5.38;
+
+
+sub count_bits{
+ my($x) = @_;
+ my $total_count_set_bit = 0;
+ while($x){
+ my $b = $x & 1;
+ $total_count_set_bit++ if $b;
+ $x = $x >> 1;
+ }
+ return $total_count_set_bit;
+}
+
+
+sub sum_of_values{
+ my $k = shift;
+ my(@n) = @_;
+ my $sum;
+ do{
+ $sum += $_[$_] if count_bits($_) == $k;
+ } for 0 .. @n - 1;
+ return $sum;
+}
+
+
+MAIN:{
+ say sum_of_values 1, 2, 5, 9, 11, 3;
+ say sum_of_values 2, 2, 5, 9, 11, 3;
+ say sum_of_values 0, 2, 5, 9, 11, 3;
+}
+