aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2023-01-23 00:37:59 +0000
committerGitHub <noreply@github.com>2023-01-23 00:37:59 +0000
commit0807451ebcc3b20f41cd5de27b7b0915ad6d9ee5 (patch)
tree3442dda8db339c91795a39c809c868dd408ea65a
parent731040f9e21fb0a2b40040ae6c135bccdcdf2d53 (diff)
parent4307b5ec0d8357fa8af00536c2775f9e6f966422 (diff)
downloadperlweeklychallenge-club-0807451ebcc3b20f41cd5de27b7b0915ad6d9ee5.tar.gz
perlweeklychallenge-club-0807451ebcc3b20f41cd5de27b7b0915ad6d9ee5.tar.bz2
perlweeklychallenge-club-0807451ebcc3b20f41cd5de27b7b0915ad6d9ee5.zip
Merge pull request #7438 from steve-g-lynn/branch-for-challenge-200
pwc 200
-rw-r--r--challenge-200/steve-g-lynn/blog.txt1
-rwxr-xr-xchallenge-200/steve-g-lynn/perl/ch-1.pl31
-rwxr-xr-xchallenge-200/steve-g-lynn/perl/ch-2.pl50
-rwxr-xr-xchallenge-200/steve-g-lynn/raku/ch-1.sh5
-rwxr-xr-xchallenge-200/steve-g-lynn/raku/ch-2.p646
5 files changed, 133 insertions, 0 deletions
diff --git a/challenge-200/steve-g-lynn/blog.txt b/challenge-200/steve-g-lynn/blog.txt
new file mode 100644
index 0000000000..c65d64b8a8
--- /dev/null
+++ b/challenge-200/steve-g-lynn/blog.txt
@@ -0,0 +1 @@
+https://thiujiac.blogspot.com/2023/01/pwc-200.html
diff --git a/challenge-200/steve-g-lynn/perl/ch-1.pl b/challenge-200/steve-g-lynn/perl/ch-1.pl
new file mode 100755
index 0000000000..13571ea83d
--- /dev/null
+++ b/challenge-200/steve-g-lynn/perl/ch-1.pl
@@ -0,0 +1,31 @@
+#!/usr/bin/env -S perl -wl
+
+use strict;
+use Data::Dumper qw(Dumper);
+use List::Util qw(sum);
+use Algorithm::Combinatorics qw(combinations);
+
+print Dumper(arithmetic_slices(1,2,3,4,6,8,10));
+#[1,2,3],[1,2,3,4],[2,3,4],[4,6,8],[4,6,8,10],[6,8,10]
+print Dumper(arithmetic_slices(2)); # []
+
+
+sub arithmetic_slices {
+ my (@arry) = @_;
+
+ (scalar(@_) <= 2) && (return []);
+
+ return (
+ grep {my @n=$_->@*;
+ sum (map {($n[$_+1] - $n[$_]) == ($n[$_+2] - $n[$_+1]) }
+ (0 .. @n-3) ) == @n-2;
+ }
+ map {[@arry[$_->[0] .. $_->[1]]]}
+ grep {$_->[1] - $_->[0] > 1}
+ combinations [0 .. @arry-1], 2 );
+}
+
+
+
+
+
diff --git a/challenge-200/steve-g-lynn/perl/ch-2.pl b/challenge-200/steve-g-lynn/perl/ch-2.pl
new file mode 100755
index 0000000000..3a1811725d
--- /dev/null
+++ b/challenge-200/steve-g-lynn/perl/ch-2.pl
@@ -0,0 +1,50 @@
+#!/usr/bin/env -S perl -w
+
+use strict;
+
+use constant {
+ 'hl' => ('-' x 7),
+ 'v_' => ('|' . (' ' x 6) ),
+ '_v' => ((' ' x 6) . '|'),
+ 'v_v' => ('|' . (' ' x 5) . '|')
+};
+
+my @encoded = (
+ [hl, v_v, v_v, v_v, v_v, v_v, hl], #0
+ [_v,_v,_v,_v,_v,_v,_v], #1
+ [hl, _v,_v,hl,v_,v_,hl], #2
+ [hl, _v,_v,hl,_v,_v,hl], #3
+ [v_v,v_v,v_v,hl,_v,_v,_v], #4
+ [hl,v_,v_,hl,_v,_v,hl], #5
+ [hl,v_,v_,hl,v_v,v_v,hl], #6
+ [hl,_v,_v,_v,_v,_v,_v], #7
+ [hl,v_v,v_v,hl,v_v,v_v,hl], #8
+ [hl,v_v,v_v,hl,_v,_v,_v], #9
+);
+# $encoded[x] is the representation of digit x
+
+&draw_integer(200);
+
+# ------- ------- -------
+# | | | | |
+# | | | | |
+# ------- | | | |
+# | | | | |
+# | | | | |
+# ------- ------- -------
+
+
+sub draw_integer {
+ my ($n) = @_;
+ my @n=split //, $n;
+
+ for my $i (0 .. 6) {
+ for my $j (@n) {
+ print $encoded[$j]->[$i]," ";
+ }
+ print "\n";
+ }
+ return 1;
+}
+
+
diff --git a/challenge-200/steve-g-lynn/raku/ch-1.sh b/challenge-200/steve-g-lynn/raku/ch-1.sh
new file mode 100755
index 0000000000..c7f448f8ea
--- /dev/null
+++ b/challenge-200/steve-g-lynn/raku/ch-1.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+raku -e '(0 .. @*ARGS-1).combinations(2).grep({@_[1]-@_[0]>1}).map({@*ARGS[@_[0]..@_[1]]}).grep( {my @n=@_; (0 .. @n-3).map( {(@n[$_+1]-@n[$_]) == (@n[$_+2]-@n[$_+1])} ).sum==(@n.elems-2) } ).say' $@
+
+
diff --git a/challenge-200/steve-g-lynn/raku/ch-2.p6 b/challenge-200/steve-g-lynn/raku/ch-2.p6
new file mode 100755
index 0000000000..48fbea51c2
--- /dev/null
+++ b/challenge-200/steve-g-lynn/raku/ch-2.p6
@@ -0,0 +1,46 @@
+#!/usr/bin/env perl6
+
+
+constant hl = ('-' x 7);
+constant v_ = ('|' ~ (' ' x 6) );
+constant _v = ((' ' x 6) ~ '|');
+constant v_v = ('|' ~ (' ' x 5) ~ '|');
+
+my @encoded = (
+ [hl, v_v, v_v, v_v, v_v, v_v, hl], #0
+ [_v,_v,_v,_v,_v,_v,_v], #1
+ [hl, _v,_v,hl,v_,v_,hl], #2
+ [hl, _v,_v,hl,_v,_v,hl], #3
+ [v_v,v_v,v_v,hl,_v,_v,_v], #4
+ [hl,v_,v_,hl,_v,_v,hl], #5
+ [hl,v_,v_,hl,v_v,v_v,hl], #6
+ [hl,_v,_v,_v,_v,_v,_v], #7
+ [hl,v_v,v_v,hl,v_v,v_v,hl], #8
+ [hl,v_v,v_v,hl,_v,_v,_v], #9
+);
+# $encoded[x] is the representation of digit x
+
+&draw_integer(200);
+
+# ------- ------- -------
+# | | | | |
+# | | | | |
+# ------- | | | |
+# | | | | |
+# | | | | |
+# ------- ------- -------
+
+
+sub draw_integer ($n) {
+ my @n=$n.comb;
+
+ for (0 .. 6) -> $i {
+ for (@n) -> $j {
+ print @encoded[$j].[$i]," ";
+ }
+ print "\n";
+ }
+ return 1;
+}
+
+