diff options
| -rw-r--r-- | challenge-261/adam-russell/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-261/adam-russell/perl/ch-1.pl | 26 | ||||
| -rw-r--r-- | challenge-261/adam-russell/perl/ch-2.pl | 18 |
3 files changed, 45 insertions, 0 deletions
diff --git a/challenge-261/adam-russell/blog.txt b/challenge-261/adam-russell/blog.txt new file mode 100644 index 0000000000..a40a334551 --- /dev/null +++ b/challenge-261/adam-russell/blog.txt @@ -0,0 +1 @@ +http://www.rabbitfarm.com/cgi-bin/blosxom/perl/2024/03/23 diff --git a/challenge-261/adam-russell/perl/ch-1.pl b/challenge-261/adam-russell/perl/ch-1.pl new file mode 100644 index 0000000000..f9101909f9 --- /dev/null +++ b/challenge-261/adam-russell/perl/ch-1.pl @@ -0,0 +1,26 @@ + + +use v5.38; + + +sub element_digit_sum{ + my($integers) = [@_]; + +my $digit_sum = unpack(q/%32I*/, pack( + q/I*/, map {split //, $_} @{$integers}) +); + + +my $element_sum = unpack(q/%32I*/, pack q/I*/, @{$integers}); + + return abs($element_sum - $digit_sum) +} + + +MAIN:{ + say element_digit_sum 1, 2, 3, 45; + say element_digit_sum 1, 12, 3; + say element_digit_sum 1, 2, 3, 4; + say element_digit_sum 236, 416, 336, 350; +} + diff --git a/challenge-261/adam-russell/perl/ch-2.pl b/challenge-261/adam-russell/perl/ch-2.pl new file mode 100644 index 0000000000..0efdef16f5 --- /dev/null +++ b/challenge-261/adam-russell/perl/ch-2.pl @@ -0,0 +1,18 @@ + + +use v5.38; + + +sub search_multiply{ + my($start) = shift; + return $start if 0 == grep {$start == $_} @_; + search_multiply($start + $start, @_); +} + + +MAIN:{ + say search_multiply 3, 5, 3, 6, 1, 12; + say search_multiply 1, 1, 2, 3, 4; + say search_multiply 2, 5, 6, 7; +} + |
