diff options
| author | Walt Mankowski <waltman@pobox.com> | 2025-06-25 21:56:20 -0400 |
|---|---|---|
| committer | Walt Mankowski <waltman@pobox.com> | 2025-06-25 21:56:20 -0400 |
| commit | 63056a717ba9b4a55696b0752118236f3578c960 (patch) | |
| tree | f122c80df44790ef2f61e969358a075e39c27d2e | |
| parent | b5e03b1a09ea8f0d3ea80920b23c04ce82b76fae (diff) | |
| download | perlweeklychallenge-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.pl | 24 |
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 ""; |
