From cc2239d37841fe1417d1c0f5476187559bf7318d Mon Sep 17 00:00:00 2001 From: Ruben Westerberg Date: Thu, 1 Aug 2019 07:44:37 +1000 Subject: Added solution p6 solution for ch-1 --- challenge-019/ruben-westerberg/perl5/ch-1.pl | 7 ++++--- challenge-019/ruben-westerberg/perl6/ch-1.p6 | 10 ++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) create mode 100755 challenge-019/ruben-westerberg/perl6/ch-1.p6 diff --git a/challenge-019/ruben-westerberg/perl5/ch-1.pl b/challenge-019/ruben-westerberg/perl5/ch-1.pl index d41bef8ed5..aacec0f8a4 100755 --- a/challenge-019/ruben-westerberg/perl5/ch-1.pl +++ b/challenge-019/ruben-westerberg/perl5/ch-1.pl @@ -9,13 +9,14 @@ use v5.26; my $s= Time::Piece->strptime("1900","%Y"); my $e= Time::Piece->strptime("2019","%Y"); #Find the months with 5 weekends (5 fridays, 5 saturdays and 5 sundays). -#this is only possible when +#This is only possible when # --month has 31 days # --must start with a Friday # # Search by day as only one day will ever match the start of a month -while ($s <= $e) { +while ($s < $e) { + print $s->strftime("%Y %B"), "\n" + if ($s->mday==1) && ($s->day_of_week==5) && any {$s->mon == $_ } (1,3,5,7,8,10,12); $s+=ONE_DAY; - print $s->strftime("%Y %B"), "\n" if ($s->mday==1) && ($s->day_of_week==5) && any {$s->mon == $_ } (1,3,5,7,8,10,12) } diff --git a/challenge-019/ruben-westerberg/perl6/ch-1.p6 b/challenge-019/ruben-westerberg/perl6/ch-1.p6 new file mode 100755 index 0000000000..a8f928e2eb --- /dev/null +++ b/challenge-019/ruben-westerberg/perl6/ch-1.p6 @@ -0,0 +1,10 @@ +#!/usr/bin/env perl6 + +my $s=Date.new("1900-01-01"); +my $e=Date.new("2019-01-01"); +my @names=; +for $s..^$e { + put .year~" @names[.month-1]" + if all(.day-of-month == 1, .day-of-week == 5, .days-in-month == 31); +} -- cgit