summaryrefslogtreecommitdiffstats
path: root/044.pl
blob: 54f9ce8fde1416862e05bebe7f5ee6b6697d7a77 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl
use strict;
use warnings;
use integer;

my %p;

for my $n (1..10000) {
    $p{$n} = $n * (3 * $n - 1) / 2;
}
my %rp = reverse %p;

my $min = 1e9;
N: for my $n (1..10000) {
    for my $m ($n..10000) {
        my $sum = $p{$m} + $p{$n};
        my $diff = $p{$m} - $p{$n};
        next N if $diff > $min;
        if (exists $rp{$sum} && exists $rp{$diff}) {
            $min = $diff if $diff < $min;
        }
    }
}
print "$min\n";