aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWalt Mankowski <waltman@pobox.com>2025-06-25 21:56:20 -0400
committerWalt Mankowski <waltman@pobox.com>2025-06-25 21:56:20 -0400
commit63056a717ba9b4a55696b0752118236f3578c960 (patch)
treef122c80df44790ef2f61e969358a075e39c27d2e
parentb5e03b1a09ea8f0d3ea80920b23c04ce82b76fae (diff)
downloadperlweeklychallenge-club-63056a717ba9b4a55696b0752118236f3578c960.tar.gz
perlweeklychallenge-club-63056a717ba9b4a55696b0752118236f3578c960.tar.bz2
perlweeklychallenge-club-63056a717ba9b4a55696b0752118236f3578c960.zip
perl code for challenge 2
-rw-r--r--challenge-327/walt-mankowski/perl/ch-2.pl24
1 files changed, 24 insertions, 0 deletions
diff --git a/challenge-327/walt-mankowski/perl/ch-2.pl b/challenge-327/walt-mankowski/perl/ch-2.pl
new file mode 100644
index 0000000000..1180d571de
--- /dev/null
+++ b/challenge-327/walt-mankowski/perl/ch-2.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/env perl
+use v5.40;
+
+my $min_dist = 1e300;
+my @pairs;
+my @elements = sort { $a <=> $b } @ARGV;
+
+for my $i (0..$#elements-1) {
+ for my $j ($i+1..$#elements) {
+ my $delta = abs($elements[$i] - $elements[$j]);
+ if ($delta < $min_dist) {
+ @pairs = ([$elements[$i], $elements[$j]]);
+ $min_dist = $delta;
+ } elsif ($delta == $min_dist) {
+ push @pairs, [$elements[$i], $elements[$j]];
+ }
+ }
+}
+
+for my $i (0..$#pairs) {
+ printf "[%d,%d]", $pairs[$i][0], $pairs[$i][1];
+ print ", " if $i < $#pairs;
+}
+say "";