diff options
| -rw-r--r-- | challenge-030/Leoltron/perl5/ch-2.pl | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/challenge-030/Leoltron/perl5/ch-2.pl b/challenge-030/Leoltron/perl5/ch-2.pl new file mode 100644 index 0000000000..d497106550 --- /dev/null +++ b/challenge-030/Leoltron/perl5/ch-2.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use 5.010; + +use List::Util qw(min); +use POSIX qw(ceil); + +use constant SUM => 12; +use constant MIN_FIRST => ceil(SUM / 3); +use constant MAX_FIRST => SUM - 2; + +foreach my $first (MIN_FIRST .. MAX_FIRST) { + my $min_second = ceil((SUM -$first) / 2); + my $max_second = min($first, SUM - $first - 1); + foreach my $second ($min_second .. $max_second) { + my $third = SUM - $first - $second; + say "$first, $second, $third" + } +} + |
