aboutsummaryrefslogtreecommitdiff
path: root/challenge-069
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-07-18 17:13:51 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-07-18 17:13:51 +0100
commit76b2c869958734ec567dc8a5ffe48751ac57108e (patch)
tree65e9f5fea2702770a1be4abd9ec7e97ac09b021b /challenge-069
parent272c6f35304d35a5fe21a3c35e9547971bb056f0 (diff)
downloadperlweeklychallenge-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.txt1
-rw-r--r--challenge-069/laurent-rosenfeld/perl/ch-1.pl10
-rw-r--r--challenge-069/laurent-rosenfeld/perl/ch-2.pl9
-rw-r--r--challenge-069/laurent-rosenfeld/raku/ch-1.p68
-rw-r--r--challenge-069/laurent-rosenfeld/raku/ch-2.p611
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";
+}