diff options
| author | Adam Russell <adamcrussell@Adams-Air.lan> | 2024-03-03 18:54:01 -0500 |
|---|---|---|
| committer | Adam Russell <adamcrussell@Adams-Air.lan> | 2024-03-03 18:54:01 -0500 |
| commit | 1fb42bbda030454109a2236778ee652c2e3a6392 (patch) | |
| tree | a7d2069d98798d76905de102d35e4498e8d09147 | |
| parent | 0c4e2859ea107353498b5d0c1809151f600c9c2e (diff) | |
| download | perlweeklychallenge-club-1fb42bbda030454109a2236778ee652c2e3a6392.tar.gz perlweeklychallenge-club-1fb42bbda030454109a2236778ee652c2e3a6392.tar.bz2 perlweeklychallenge-club-1fb42bbda030454109a2236778ee652c2e3a6392.zip | |
initial commit
| -rw-r--r-- | challenge-258/adam-russell/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-258/adam-russell/perl/ch-1.pl | 19 | ||||
| -rw-r--r-- | challenge-258/adam-russell/perl/ch-2.pl | 34 |
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; +} + |
