diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2019-10-19 02:24:44 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-10-19 02:24:44 +0100 |
| commit | 45beb0d934d241d1f90e7c9c5ebe1a6baf7e05c1 (patch) | |
| tree | d0b9d76b774f24510fa074c65b336dd72e0ba384 | |
| parent | e00cd00fc4816eb994fb3fd9c2333d30771c0bf8 (diff) | |
| parent | a5846ce64d2bbc7618e231b9e2a6110cf492d2fa (diff) | |
| download | perlweeklychallenge-club-45beb0d934d241d1f90e7c9c5ebe1a6baf7e05c1.tar.gz perlweeklychallenge-club-45beb0d934d241d1f90e7c9c5ebe1a6baf7e05c1.tar.bz2 perlweeklychallenge-club-45beb0d934d241d1f90e7c9c5ebe1a6baf7e05c1.zip | |
Merge pull request #797 from andrezgz/challenge-030-recursive
challenge-030 andrezgz task2 recursive
| -rw-r--r-- | challenge-030/andrezgz/perl5/ch-2-r.pl | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/challenge-030/andrezgz/perl5/ch-2-r.pl b/challenge-030/andrezgz/perl5/ch-2-r.pl new file mode 100644 index 0000000000..352e6bcd94 --- /dev/null +++ b/challenge-030/andrezgz/perl5/ch-2-r.pl @@ -0,0 +1,43 @@ +#!/usr/bin/perl + +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-030/ +# Task #2 +# Write a script to print all possible series of 3 positive numbers, +# where in each series at least one of the number is even and +# sum of the three numbers is always 12. For example, 3,4,5. + +use strict; +use warnings; + +use List::Util qw(sum); + +series(); + +sub series { + our %groups; + if (@_ == 3) { + my $key = join ' ', sort { $a <=> $b } @_; + print $key.$/ if sum(@_) == 12 && !$groups{$key}++; + return; + } + + series(@_,$_) for ( 1..10 ); + + return; +} + +__END__ + +./ch-2.pl +1 1 10 +1 2 9 +1 3 8 +1 4 7 +1 5 6 +2 2 8 +2 3 7 +2 4 6 +2 5 5 +3 3 6 +3 4 5 +4 4 4 |
