diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-18 17:13:51 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-18 17:13:51 +0100 |
| commit | 76b2c869958734ec567dc8a5ffe48751ac57108e (patch) | |
| tree | 65e9f5fea2702770a1be4abd9ec7e97ac09b021b /challenge-069 | |
| parent | 272c6f35304d35a5fe21a3c35e9547971bb056f0 (diff) | |
| download | perlweeklychallenge-club-76b2c869958734ec567dc8a5ffe48751ac57108e.tar.gz perlweeklychallenge-club-76b2c869958734ec567dc8a5ffe48751ac57108e.tar.bz2 perlweeklychallenge-club-76b2c869958734ec567dc8a5ffe48751ac57108e.zip | |
- Added solutions by Laurent Rosenfeld.
Diffstat (limited to 'challenge-069')
| -rw-r--r-- | challenge-069/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-069/laurent-rosenfeld/perl/ch-1.pl | 10 | ||||
| -rw-r--r-- | challenge-069/laurent-rosenfeld/perl/ch-2.pl | 9 | ||||
| -rw-r--r-- | challenge-069/laurent-rosenfeld/raku/ch-1.p6 | 8 | ||||
| -rw-r--r-- | challenge-069/laurent-rosenfeld/raku/ch-2.p6 | 11 |
5 files changed, 39 insertions, 0 deletions
diff --git a/challenge-069/laurent-rosenfeld/blog.txt b/challenge-069/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..c343731b75 --- /dev/null +++ b/challenge-069/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2020/07/perl-weekly-challenge-69-strobogrammatic-numbers-and-01-strings.html diff --git a/challenge-069/laurent-rosenfeld/perl/ch-1.pl b/challenge-069/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..ede883f058 --- /dev/null +++ b/challenge-069/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,10 @@ +use strict; +use warnings; +use feature qw /say/; + +for my $k ($ARGV[0]..$ARGV[1]) { + next unless $k =~ /^[0689]+$/; + my $i = reverse $k; + $i =~ tr/69/96/; + say $k if $i eq $k; +} diff --git a/challenge-069/laurent-rosenfeld/perl/ch-2.pl b/challenge-069/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..cd7b28da81 --- /dev/null +++ b/challenge-069/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,9 @@ +use strict; +use warnings; +use feature qw /say/; + +my $prev = '001'; +for my $i (3..8) { + $prev = $prev . "0" . reverse map { tr/01/10/r } $prev;; + say "$i $prev"; +} diff --git a/challenge-069/laurent-rosenfeld/raku/ch-1.p6 b/challenge-069/laurent-rosenfeld/raku/ch-1.p6 new file mode 100644 index 0000000000..c370ad393a --- /dev/null +++ b/challenge-069/laurent-rosenfeld/raku/ch-1.p6 @@ -0,0 +1,8 @@ +use v6; + +sub MAIN (Int $i, Int $j where 1 <= $i <= $j <= 1e15) { + for $i..$j -> $k { + next if $k ~~ / <-[0689]> /; + say $k if $k eq $k.flip.map({TR/69/96/}); + } +} diff --git a/challenge-069/laurent-rosenfeld/raku/ch-2.p6 b/challenge-069/laurent-rosenfeld/raku/ch-2.p6 new file mode 100644 index 0000000000..503343c37d --- /dev/null +++ b/challenge-069/laurent-rosenfeld/raku/ch-2.p6 @@ -0,0 +1,11 @@ +use v6; + +sub switch (Str $num) { + [~] $num.comb.map({$_ eq "0" ?? 1 !! 0}); +} + +my $prev = '001'; +for 3..8 -> $i { + $prev = $prev ~ "0" ~ switch $prev.flip; + say "$i $prev"; +} |
