diff options
| author | Roger Bell_West <roger@firedrake.org> | 2020-02-18 10:54:03 +0000 |
|---|---|---|
| committer | Roger Bell_West <roger@firedrake.org> | 2020-02-18 10:54:03 +0000 |
| commit | be22f9d90a526e463e2fab9c8a18a659d4bdb4d8 (patch) | |
| tree | 30b33b3805bf5b1758034509b2f9d1f4233d9cb5 /challenge-048 | |
| parent | 31beb31618ad94e42890e8f2c88a853095889e72 (diff) | |
| download | perlweeklychallenge-club-be22f9d90a526e463e2fab9c8a18a659d4bdb4d8.tar.gz perlweeklychallenge-club-be22f9d90a526e463e2fab9c8a18a659d4bdb4d8.tar.bz2 perlweeklychallenge-club-be22f9d90a526e463e2fab9c8a18a659d4bdb4d8.zip | |
Solutions for challenge #48.
Diffstat (limited to 'challenge-048')
| -rwxr-xr-x | challenge-048/roger-bell-west/perl5/ch-1.pl | 17 | ||||
| -rwxr-xr-x | challenge-048/roger-bell-west/perl5/ch-2.pl | 15 | ||||
| -rwxr-xr-x | challenge-048/roger-bell-west/perl5/ch-2a.pl | 22 | ||||
| -rwxr-xr-x | challenge-048/roger-bell-west/perl6/ch-1.p6 | 14 | ||||
| -rwxr-xr-x | challenge-048/roger-bell-west/perl6/ch-2.p6 | 19 |
5 files changed, 87 insertions, 0 deletions
diff --git a/challenge-048/roger-bell-west/perl5/ch-1.pl b/challenge-048/roger-bell-west/perl5/ch-1.pl new file mode 100755 index 0000000000..26d45b9293 --- /dev/null +++ b/challenge-048/roger-bell-west/perl5/ch-1.pl @@ -0,0 +1,17 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +my @list=(1..50); +my $n=0; + +while (scalar @list > 1) { + $n++; + if ($n>$#list) { + $n=0; + } + splice @list,$n,1; +} + +print $list[0],"\n"; diff --git a/challenge-048/roger-bell-west/perl5/ch-2.pl b/challenge-048/roger-bell-west/perl5/ch-2.pl new file mode 100755 index 0000000000..a150104c99 --- /dev/null +++ b/challenge-048/roger-bell-west/perl5/ch-2.pl @@ -0,0 +1,15 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +use POSIX qw(strftime); + +my $format='%m%d%Y'; + +foreach my $d (10957..376199) { + my $u=strftime($format,gmtime($d*86400)); + if ((scalar reverse $u) eq $u) { + print "$u\n"; + } +} diff --git a/challenge-048/roger-bell-west/perl5/ch-2a.pl b/challenge-048/roger-bell-west/perl5/ch-2a.pl new file mode 100755 index 0000000000..100a546b63 --- /dev/null +++ b/challenge-048/roger-bell-west/perl5/ch-2a.pl @@ -0,0 +1,22 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +foreach my $y (2000..2999) { + foreach my $m (1..12) { + foreach my $d (1..31) { + if ($d==31 && ($m==4 || $m==6 || $m==9 || $m==11)) { + next; + } elsif ($m==2 && $d==30) { + next; + } elsif ($m==2 && $d==29 && ($y % 4 != 0 || ($y % 100 == 0 && $y % 400 != 0))) { + next; + } + my $u=sprintf('%02d%02d%04d',$m,$d,$y); + if ($u eq scalar reverse $u) { + print "$u\n"; + } + } + } +} diff --git a/challenge-048/roger-bell-west/perl6/ch-1.p6 b/challenge-048/roger-bell-west/perl6/ch-1.p6 new file mode 100755 index 0000000000..c175608b13 --- /dev/null +++ b/challenge-048/roger-bell-west/perl6/ch-1.p6 @@ -0,0 +1,14 @@ +#! /usr/bin/perl6 + +my @list=(1..50); +my $n=0; + +while (@list.elems > 1) { + $n++; + if ($n>@list.end) { + $n=0; + } + splice @list,$n,1; +} + +say @list[0]; diff --git a/challenge-048/roger-bell-west/perl6/ch-2.p6 b/challenge-048/roger-bell-west/perl6/ch-2.p6 new file mode 100755 index 0000000000..383ef76eea --- /dev/null +++ b/challenge-048/roger-bell-west/perl6/ch-2.p6 @@ -0,0 +1,19 @@ +#! /usr/bin/perl6 + +for 2000..2999 -> $y { + for 1..12 -> $m { + for 1..31 -> $d { + if ($d==31 && ($m==4 || $m==6 || $m==9 || $m==11)) { + next; + } elsif ($m==2 && $d==30) { + next; + } elsif ($m==2 && $d==29 && ($y % 4 != 0 || ($y % 100 == 0 && $y % 400 != 0))) { + next; + } + my $u=sprintf('%02d%02d%04d',$m,$d,$y); + if ($u eq $u.flip) { + say $u; + } + } + } +}
\ No newline at end of file |
