aboutsummaryrefslogtreecommitdiff
path: root/challenge-030
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2019-10-15 15:16:00 +0100
committerGitHub <noreply@github.com>2019-10-15 15:16:00 +0100
commit49ee69730dc37ed26b264e68ec7104f9fe8d7685 (patch)
tree362a11516fed18f06b9d4d9c8aafaa6685cfef3a /challenge-030
parent6dedab55932dbf7d7e0db73b210a5560cfe5d38f (diff)
parent47bf2a2ce1e69dde400e1f9f12b7257e22bd46fa (diff)
downloadperlweeklychallenge-club-49ee69730dc37ed26b264e68ec7104f9fe8d7685.tar.gz
perlweeklychallenge-club-49ee69730dc37ed26b264e68ec7104f9fe8d7685.tar.bz2
perlweeklychallenge-club-49ee69730dc37ed26b264e68ec7104f9fe8d7685.zip
Merge pull request #780 from ndelucca/master
challenge-030/ndelucca
Diffstat (limited to 'challenge-030')
-rw-r--r--challenge-030/nazareno-delucca/README1
-rw-r--r--challenge-030/ndelucca/README1
-rw-r--r--challenge-030/ndelucca/perl5/ch-1.pl14
-rw-r--r--challenge-030/ndelucca/perl5/ch-2.pl34
4 files changed, 49 insertions, 1 deletions
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;