From 028df8966be645450064b6864f36148b3b0a40e9 Mon Sep 17 00:00:00 2001 From: Ruben Westerberg Date: Sun, 20 Oct 2019 21:32:19 +1000 Subject: Added ch-1.pl --- challenge-030/ruben-westerberg/perl5/ch-1.pl | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100755 challenge-030/ruben-westerberg/perl5/ch-1.pl (limited to 'challenge-030') diff --git a/challenge-030/ruben-westerberg/perl5/ch-1.pl b/challenge-030/ruben-westerberg/perl5/ch-1.pl new file mode 100755 index 0000000000..1be9c64a5d --- /dev/null +++ b/challenge-030/ruben-westerberg/perl5/ch-1.pl @@ -0,0 +1,11 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Time::Piece; +use Time::Seconds; + + my $t=localtime(0)->add_months(11)->add_years(49)+24*ONE_DAY; +while ((2019 <= $t->year) && ($t->year <= 2100)) { + print "$t\n" if $t->_wday==0; + $t=$t->add_years(1); +} -- cgit From 0d17c09056da490fd8eaa57ebc2483f56b59d725 Mon Sep 17 00:00:00 2001 From: Ruben Westerberg Date: Sun, 20 Oct 2019 21:56:42 +1000 Subject: Added ch-1.p6 Also restructured ch-1.pl --- challenge-030/ruben-westerberg/perl5/ch-1.pl | 10 +++++----- challenge-030/ruben-westerberg/perl6/ch-1.p6 | 5 +++++ 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100755 challenge-030/ruben-westerberg/perl6/ch-1.p6 (limited to 'challenge-030') diff --git a/challenge-030/ruben-westerberg/perl5/ch-1.pl b/challenge-030/ruben-westerberg/perl5/ch-1.pl index 1be9c64a5d..b175d32d8c 100755 --- a/challenge-030/ruben-westerberg/perl5/ch-1.pl +++ b/challenge-030/ruben-westerberg/perl5/ch-1.pl @@ -4,8 +4,8 @@ use warnings; use Time::Piece; use Time::Seconds; - my $t=localtime(0)->add_months(11)->add_years(49)+24*ONE_DAY; -while ((2019 <= $t->year) && ($t->year <= 2100)) { - print "$t\n" if $t->_wday==0; - $t=$t->add_years(1); -} +print map { $_->strftime("%Y-%m-%d\n") }map { + my $t=localtime(0)->add_months(11)->add_years($_-1970)+24*ONE_DAY; + $t->_wday == 0? $t: (); + } +(2019..2100); diff --git a/challenge-030/ruben-westerberg/perl6/ch-1.p6 b/challenge-030/ruben-westerberg/perl6/ch-1.p6 new file mode 100755 index 0000000000..d17eb53845 --- /dev/null +++ b/challenge-030/ruben-westerberg/perl6/ch-1.p6 @@ -0,0 +1,5 @@ +#!/usr/bin/env perl6 +(2019..2100).map({ + my $t=Date.new(year=>$_,month=>12,day=>25); + $t.day-of-week==7??$t!!|(); +})>>.put; -- cgit From a2f5e92d54597b262e5044843cb0cc041766869f Mon Sep 17 00:00:00 2001 From: Ruben Westerberg Date: Sun, 20 Oct 2019 22:52:02 +1000 Subject: added ch-2 p5 and p6 Fixed date range on ch-1 p5 and p6 --- challenge-030/ruben-westerberg/README | 12 ++---------- challenge-030/ruben-westerberg/perl5/ch-1.pl | 2 +- challenge-030/ruben-westerberg/perl5/ch-2.pl | 19 +++++++++++++++++++ challenge-030/ruben-westerberg/perl6/ch-1.p6 | 2 +- challenge-030/ruben-westerberg/perl6/ch-2.p6 | 14 ++++++++++++++ 5 files changed, 37 insertions(+), 12 deletions(-) create mode 100755 challenge-030/ruben-westerberg/perl5/ch-2.pl create mode 100755 challenge-030/ruben-westerberg/perl6/ch-2.p6 (limited to 'challenge-030') diff --git a/challenge-030/ruben-westerberg/README b/challenge-030/ruben-westerberg/README index e6f292a7cb..078e072f1a 100644 --- a/challenge-030/ruben-westerberg/README +++ b/challenge-030/ruben-westerberg/README @@ -2,17 +2,9 @@ Solution by Ruben Westerberg ch-1.pl and ch-1.p6 === -Run the program with commanline arguments enclosed in single quotes to prevent the shell from performing its own brace expansion. This will to multiple levels of expension and generate all combinations; - eg - ./ch-1.pl '{Bob,Tim} say hello to {Mary,Rose}' - - this will ouput 4 lines - Bob say hellow to Mary - Bob say hellow to Rose - Tim say hellow to Mary - Tim say hellow to Rose +Run program to display all Sunday Xmas dates between years 2019 and 2100 ch-2.pl and ch-2.p6 === -Run the program to demonstrate calling a C function +Run program to find all combinations of 3 number sequence which add to 12 and have at least 1 even number diff --git a/challenge-030/ruben-westerberg/perl5/ch-1.pl b/challenge-030/ruben-westerberg/perl5/ch-1.pl index b175d32d8c..28e8681055 100755 --- a/challenge-030/ruben-westerberg/perl5/ch-1.pl +++ b/challenge-030/ruben-westerberg/perl5/ch-1.pl @@ -8,4 +8,4 @@ print map { $_->strftime("%Y-%m-%d\n") }map { my $t=localtime(0)->add_months(11)->add_years($_-1970)+24*ONE_DAY; $t->_wday == 0? $t: (); } -(2019..2100); +(2020..2099); diff --git a/challenge-030/ruben-westerberg/perl5/ch-2.pl b/challenge-030/ruben-westerberg/perl5/ch-2.pl new file mode 100755 index 0000000000..c5b6707559 --- /dev/null +++ b/challenge-030/ruben-westerberg/perl5/ch-2.pl @@ -0,0 +1,19 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use List::Util qw; + +my %s; +for (2,4,6,8,10) { + my $e=$_; + my $r=12-$e; + for (1..$r-1) { + my @val=sort($e,$_,$r-$_); + my $key=join ",", @val; + $s{$key}=\@val if sum(@val) == 12; + } +} + +for (sort keys %s) { + print join(",", @{$s{$_}}),"\n"; +} diff --git a/challenge-030/ruben-westerberg/perl6/ch-1.p6 b/challenge-030/ruben-westerberg/perl6/ch-1.p6 index d17eb53845..1a6028bd36 100755 --- a/challenge-030/ruben-westerberg/perl6/ch-1.p6 +++ b/challenge-030/ruben-westerberg/perl6/ch-1.p6 @@ -1,5 +1,5 @@ #!/usr/bin/env perl6 -(2019..2100).map({ +(2020..2099).map({ my $t=Date.new(year=>$_,month=>12,day=>25); $t.day-of-week==7??$t!!|(); })>>.put; diff --git a/challenge-030/ruben-westerberg/perl6/ch-2.p6 b/challenge-030/ruben-westerberg/perl6/ch-2.p6 new file mode 100755 index 0000000000..7611eea9e3 --- /dev/null +++ b/challenge-030/ruben-westerberg/perl6/ch-2.p6 @@ -0,0 +1,14 @@ +#!/usr/bin/env perl6 +my %s; +for (2,4,6,8,10) { + my $e=$_; + my $r=12-$e; + for 1..$r-1 { + my @val=sort($e,$_,$r-$_); + %s{@val.join(",")}=@val if @val.sum ==12; + } +} + +for %s.keys.sort { + put %s{$_}.join(","); +} -- cgit