diff options
| author | David Ferrone <zapwai@gmail.com> | 2023-11-27 16:31:30 -0500 |
|---|---|---|
| committer | David Ferrone <zapwai@gmail.com> | 2023-11-27 16:31:30 -0500 |
| commit | 27232da67afa8341279a318f5d22591c44f5a611 (patch) | |
| tree | dffc845df27ae25ca7ffa6222e6464040be80e9b | |
| parent | a91d49494a545d745c5c622afa3a9646bf1ac774 (diff) | |
| download | perlweeklychallenge-club-27232da67afa8341279a318f5d22591c44f5a611.tar.gz perlweeklychallenge-club-27232da67afa8341279a318f5d22591c44f5a611.tar.bz2 perlweeklychallenge-club-27232da67afa8341279a318f5d22591c44f5a611.zip | |
Week 245
| -rw-r--r-- | challenge-245/zapwai/perl/ch-1.pl | 9 | ||||
| -rw-r--r-- | challenge-245/zapwai/perl/ch-2.pl | 29 |
2 files changed, 38 insertions, 0 deletions
diff --git a/challenge-245/zapwai/perl/ch-1.pl b/challenge-245/zapwai/perl/ch-1.pl new file mode 100644 index 0000000000..86820748f0 --- /dev/null +++ b/challenge-245/zapwai/perl/ch-1.pl @@ -0,0 +1,9 @@ +use v5.30; +my @lang = ('perl', 'c', 'python'); +my @pop = (2, 1, 3); +my @ans; +foreach my $i (0 .. $#pop) { + $ans[$pop[$i] - 1] = $lang[$i]; +} +say "Input : \@lang = @lang\n \t\@pop = @pop"; +say "Output: @ans"; diff --git a/challenge-245/zapwai/perl/ch-2.pl b/challenge-245/zapwai/perl/ch-2.pl new file mode 100644 index 0000000000..e2acbbfd13 --- /dev/null +++ b/challenge-245/zapwai/perl/ch-2.pl @@ -0,0 +1,29 @@ +use v5.30; +use Math::Combinatorics; +use Algorithm::Permute; +use List::Util; +my @digits = (8,1,9); +@digits = (8,6,7,1,0); +my @poss; + +for my $cnt (1 .. @digits) { + my $comb = Math::Combinatorics->new( + count => $cnt, + data => [@digits] + ); + while (my @combo = $comb->next_combination) { + my $p = Algorithm::Permute->new(\@combo); + while (my @perm = $p->next) { + my $num = join("", @perm); + push @poss, [@perm] if ($num % 3 == 0); + } + } +} + +my $max = -1; +for my $r (@poss) { + my $num = join("", @$r); + $max = $num if ($max < $num); +} +say "Input : \@digits = (" .join(", ",@digits).")"; +say "Output: $max"; |
