aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-261/adam-russell/blog.txt1
-rw-r--r--challenge-261/adam-russell/perl/ch-1.pl26
-rw-r--r--challenge-261/adam-russell/perl/ch-2.pl18
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;
+}
+