From 47bf2a2ce1e69dde400e1f9f12b7257e22bd46fa Mon Sep 17 00:00:00 2001 From: ndelucca Date: Mon, 14 Oct 2019 23:50:17 -0300 Subject: challenge-030/ndelucca --- challenge-030/nazareno-delucca/README | 1 - challenge-030/ndelucca/README | 1 + challenge-030/ndelucca/perl5/ch-1.pl | 14 ++++++++++++++ challenge-030/ndelucca/perl5/ch-2.pl | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 1 deletion(-) delete mode 100644 challenge-030/nazareno-delucca/README create mode 100644 challenge-030/ndelucca/README create mode 100644 challenge-030/ndelucca/perl5/ch-1.pl create mode 100644 challenge-030/ndelucca/perl5/ch-2.pl diff --git a/challenge-030/nazareno-delucca/README b/challenge-030/nazareno-delucca/README deleted file mode 100644 index 201de28eb4..0000000000 --- a/challenge-030/nazareno-delucca/README +++ /dev/null @@ -1 +0,0 @@ -Solutions by Nazareno Delucca. diff --git a/challenge-030/ndelucca/README b/challenge-030/ndelucca/README new file mode 100644 index 0000000000..8285f30f94 --- /dev/null +++ b/challenge-030/ndelucca/README @@ -0,0 +1 @@ +Solutions by ndelucca. diff --git a/challenge-030/ndelucca/perl5/ch-1.pl b/challenge-030/ndelucca/perl5/ch-1.pl new file mode 100644 index 0000000000..f8581d9244 --- /dev/null +++ b/challenge-030/ndelucca/perl5/ch-1.pl @@ -0,0 +1,14 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use DateTime; + +for (2019 .. 2100){ + + my $dt = DateTime->new(year => $_, month => 12, day => 25); + + print $dt->strftime("%Y-%m-%d\n") if $dt->strftime("%A") eq 'Sunday'; + +} diff --git a/challenge-030/ndelucca/perl5/ch-2.pl b/challenge-030/ndelucca/perl5/ch-2.pl new file mode 100644 index 0000000000..f7de711897 --- /dev/null +++ b/challenge-030/ndelucca/perl5/ch-2.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +# I'll assume 0 is considered unsigned in this case, so it doesn't enter the "positive" category +# Could've used only 1 "random" array, but it is more clear using two +my $filter = 12; +my @random1 = (1..$filter); +my @random2 = (1..$filter); + +my @evens = grep { $_ % 2 == 0 } (1..$filter); + +my @compliant = (); + +for my $even (@evens){ + + for my $rand1 (@random1){ + + for my $rand2 (@random2){ + + my $sum = $even + $rand1 + $rand2; + + if ($sum == $filter){ + + my $combination = join ", ", sort ($even,$rand1,$rand2); + push @compliant, $combination unless ( grep { $_ eq $combination } @compliant ); + + } + } + } +} + +printf "(%s)\n", $_ for @compliant; -- cgit