1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#!/usr/bin/env perl
use strict;
use warnings;
use feature qw{ say signatures state };
no warnings qw{ experimental };
say pair_difference( 7, ( 10, 8, 12, 15, 5 ) );
say pair_difference( 6, ( 1, 5, 2, 9, 7 ) );
say pair_difference( 15, ( 10, 30, 20, 50, 40 ) );
sub pair_difference ( $A, @N ) {
say join ' ', ' ', $A, '--', @N;
while (@N) {
my $n = shift @N;
for my $o (@N) {
return 1 if $A == $n - $o;
return 1 if $A == $o - $n;
}
}
return 0;
}
|