aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-12-01 06:11:31 +0000
committerGitHub <noreply@github.com>2020-12-01 06:11:31 +0000
commit8ec9d91e0a2b2812e6077849584718a1bc39ee04 (patch)
tree7ceb0fd8a4384c4afa7041fa0d472c91354a7e4c
parentec4bde6d213e5e6dded916541b61d3c5e29f8233 (diff)
parent553eac2662431858e609d776ee0d6af39b4c86c0 (diff)
downloadperlweeklychallenge-club-8ec9d91e0a2b2812e6077849584718a1bc39ee04.tar.gz
perlweeklychallenge-club-8ec9d91e0a2b2812e6077849584718a1bc39ee04.tar.bz2
perlweeklychallenge-club-8ec9d91e0a2b2812e6077849584718a1bc39ee04.zip
Merge pull request #2897 from jacoby/master
Challenge 89
-rw-r--r--challenge-004/arne-sommer/perl6/lib/.precomp/.lock0
-rw-r--r--challenge-005/ruben-westerberg/perl5/.ch-2.pl.swpbin12288 -> 0 bytes
-rw-r--r--challenge-005/ruben-westerberg/perl6/.ch-1.p6.swpbin12288 -> 0 bytes
-rw-r--r--challenge-005/ruben-westerberg/perl6/.ch-2.p6.swpbin12288 -> 0 bytes
-rw-r--r--challenge-005/ruben-westerberg/perl6/.precomp/.lock0
-rw-r--r--challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BAbin10435 -> 0 bytes
-rw-r--r--challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA.repo-id1
-rw-r--r--challenge-018/arne-sommer/perl6/lib/.precomp/.lock0
-rw-r--r--challenge-018/arne-sommer/perl6/lib/.precomp/B834E114E7A64AF8236503A5AE1E84F9F37C8B47/03/03D0BC625DDEC3BE511B7A604CF03963963B5CBFbin10699 -> 0 bytes
-rw-r--r--challenge-018/arne-sommer/perl6/lib/.precomp/B834E114E7A64AF8236503A5AE1E84F9F37C8B47/03/03D0BC625DDEC3BE511B7A604CF03963963B5CBF.repo-id1
-rwxr-xr-xchallenge-030/arne-sommer/perl6/series-3-cheating~3
-rw-r--r--challenge-031/adam-russell/cxx/.precomp/.lock0
-rw-r--r--challenge-031/adam-russell/cxx/.precomp/22B95C1B62814CF03F5AD9D8EBAA9B4D33FCAD42/A5/A5FF1C641758CC02744172A50E577BBE06C2A1C5bin3939 -> 0 bytes
-rw-r--r--challenge-031/adam-russell/cxx/.precomp/22B95C1B62814CF03F5AD9D8EBAA9B4D33FCAD42/A5/A5FF1C641758CC02744172A50E577BBE06C2A1C5.repo-id1
-rw-r--r--challenge-071/mohammad-anwar/java/Node.classbin2099 -> 0 bytes
-rw-r--r--challenge-075/cheok-yin-fung/java/coinssum.classbin1764 -> 0 bytes
-rw-r--r--challenge-075/cheok-yin-fung/java/histogram.classbin1852 -> 0 bytes
-rw-r--r--challenge-089/dave-jacoby/blog.txt1
-rw-r--r--challenge-089/dave-jacoby/perl/ch-1.pl40
-rw-r--r--challenge-089/dave-jacoby/perl/ch-2.pl56
20 files changed, 97 insertions, 6 deletions
diff --git a/challenge-004/arne-sommer/perl6/lib/.precomp/.lock b/challenge-004/arne-sommer/perl6/lib/.precomp/.lock
deleted file mode 100644
index e69de29bb2..0000000000
--- a/challenge-004/arne-sommer/perl6/lib/.precomp/.lock
+++ /dev/null
diff --git a/challenge-005/ruben-westerberg/perl5/.ch-2.pl.swp b/challenge-005/ruben-westerberg/perl5/.ch-2.pl.swp
deleted file mode 100644
index d11770bb3d..0000000000
--- a/challenge-005/ruben-westerberg/perl5/.ch-2.pl.swp
+++ /dev/null
Binary files differ
diff --git a/challenge-005/ruben-westerberg/perl6/.ch-1.p6.swp b/challenge-005/ruben-westerberg/perl6/.ch-1.p6.swp
deleted file mode 100644
index 435426945c..0000000000
--- a/challenge-005/ruben-westerberg/perl6/.ch-1.p6.swp
+++ /dev/null
Binary files differ
diff --git a/challenge-005/ruben-westerberg/perl6/.ch-2.p6.swp b/challenge-005/ruben-westerberg/perl6/.ch-2.p6.swp
deleted file mode 100644
index a0673fa496..0000000000
--- a/challenge-005/ruben-westerberg/perl6/.ch-2.p6.swp
+++ /dev/null
Binary files differ
diff --git a/challenge-005/ruben-westerberg/perl6/.precomp/.lock b/challenge-005/ruben-westerberg/perl6/.precomp/.lock
deleted file mode 100644
index e69de29bb2..0000000000
--- a/challenge-005/ruben-westerberg/perl6/.precomp/.lock
+++ /dev/null
diff --git a/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA b/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA
deleted file mode 100644
index 90d5f7521d..0000000000
--- a/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA
+++ /dev/null
Binary files differ
diff --git a/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA.repo-id b/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA.repo-id
deleted file mode 100644
index 2b400f7316..0000000000
--- a/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA.repo-id
+++ /dev/null
@@ -1 +0,0 @@
-C545466C5B3B71D462733C373F50078A3AD53B64 \ No newline at end of file
diff --git a/challenge-018/arne-sommer/perl6/lib/.precomp/.lock b/challenge-018/arne-sommer/perl6/lib/.precomp/.lock
deleted file mode 100644
index e69de29bb2..0000000000
--- a/challenge-018/arne-sommer/perl6/lib/.precomp/.lock
+++ /dev/null
diff --git a/challenge-018/arne-sommer/perl6/lib/.precomp/B834E114E7A64AF8236503A5AE1E84F9F37C8B47/03/03D0BC625DDEC3BE511B7A604CF03963963B5CBF b/challenge-018/arne-sommer/perl6/lib/.precomp/B834E114E7A64AF8236503A5AE1E84F9F37C8B47/03/03D0BC625DDEC3BE511B7A604CF03963963B5CBF
deleted file mode 100644
index ae1304a28b..0000000000
--- a/challenge-018/arne-sommer/perl6/lib/.precomp/B834E114E7A64AF8236503A5AE1E84F9F37C8B47/03/03D0BC625DDEC3BE511B7A604CF03963963B5CBF
+++ /dev/null
Binary files differ
diff --git a/challenge-018/arne-sommer/perl6/lib/.precomp/B834E114E7A64AF8236503A5AE1E84F9F37C8B47/03/03D0BC625DDEC3BE511B7A604CF03963963B5CBF.repo-id b/challenge-018/arne-sommer/perl6/lib/.precomp/B834E114E7A64AF8236503A5AE1E84F9F37C8B47/03/03D0BC625DDEC3BE511B7A604CF03963963B5CBF.repo-id
deleted file mode 100644
index 52cb87c55b..0000000000
--- a/challenge-018/arne-sommer/perl6/lib/.precomp/B834E114E7A64AF8236503A5AE1E84F9F37C8B47/03/03D0BC625DDEC3BE511B7A604CF03963963B5CBF.repo-id
+++ /dev/null
@@ -1 +0,0 @@
-DAADAA97D202102F50C02F99B89E28CFC6A3CFFF \ No newline at end of file
diff --git a/challenge-030/arne-sommer/perl6/series-3-cheating~ b/challenge-030/arne-sommer/perl6/series-3-cheating~
deleted file mode 100755
index 38bf4bb232..0000000000
--- a/challenge-030/arne-sommer/perl6/series-3-cheating~
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /usr/bin/env perl6
-
-.say for (1 .. 10, 1..10, 1..10).flat.combinations(3).unique(:with(&[eqv])).grep({ [<=] @_ }).grep(*.sum == 12);
diff --git a/challenge-031/adam-russell/cxx/.precomp/.lock b/challenge-031/adam-russell/cxx/.precomp/.lock
deleted file mode 100644
index e69de29bb2..0000000000
--- a/challenge-031/adam-russell/cxx/.precomp/.lock
+++ /dev/null
diff --git a/challenge-031/adam-russell/cxx/.precomp/22B95C1B62814CF03F5AD9D8EBAA9B4D33FCAD42/A5/A5FF1C641758CC02744172A50E577BBE06C2A1C5 b/challenge-031/adam-russell/cxx/.precomp/22B95C1B62814CF03F5AD9D8EBAA9B4D33FCAD42/A5/A5FF1C641758CC02744172A50E577BBE06C2A1C5
deleted file mode 100644
index 59aed5f7fa..0000000000
--- a/challenge-031/adam-russell/cxx/.precomp/22B95C1B62814CF03F5AD9D8EBAA9B4D33FCAD42/A5/A5FF1C641758CC02744172A50E577BBE06C2A1C5
+++ /dev/null
Binary files differ
diff --git a/challenge-031/adam-russell/cxx/.precomp/22B95C1B62814CF03F5AD9D8EBAA9B4D33FCAD42/A5/A5FF1C641758CC02744172A50E577BBE06C2A1C5.repo-id b/challenge-031/adam-russell/cxx/.precomp/22B95C1B62814CF03F5AD9D8EBAA9B4D33FCAD42/A5/A5FF1C641758CC02744172A50E577BBE06C2A1C5.repo-id
deleted file mode 100644
index 87d82fc36a..0000000000
--- a/challenge-031/adam-russell/cxx/.precomp/22B95C1B62814CF03F5AD9D8EBAA9B4D33FCAD42/A5/A5FF1C641758CC02744172A50E577BBE06C2A1C5.repo-id
+++ /dev/null
@@ -1 +0,0 @@
-032C2C605063ADB95B8D4CAE8BAF3384D9083416 \ No newline at end of file
diff --git a/challenge-071/mohammad-anwar/java/Node.class b/challenge-071/mohammad-anwar/java/Node.class
deleted file mode 100644
index 8838b1ef21..0000000000
--- a/challenge-071/mohammad-anwar/java/Node.class
+++ /dev/null
Binary files differ
diff --git a/challenge-075/cheok-yin-fung/java/coinssum.class b/challenge-075/cheok-yin-fung/java/coinssum.class
deleted file mode 100644
index 674b401cb4..0000000000
--- a/challenge-075/cheok-yin-fung/java/coinssum.class
+++ /dev/null
Binary files differ
diff --git a/challenge-075/cheok-yin-fung/java/histogram.class b/challenge-075/cheok-yin-fung/java/histogram.class
deleted file mode 100644
index 83eefe0814..0000000000
--- a/challenge-075/cheok-yin-fung/java/histogram.class
+++ /dev/null
Binary files differ
diff --git a/challenge-089/dave-jacoby/blog.txt b/challenge-089/dave-jacoby/blog.txt
new file mode 100644
index 0000000000..02f5f4d165
--- /dev/null
+++ b/challenge-089/dave-jacoby/blog.txt
@@ -0,0 +1 @@
+https://jacoby.github.io/2020/11/30/perl-challenge-89-and-the-return-of-the-son-of-overkill.html \ No newline at end of file
diff --git a/challenge-089/dave-jacoby/perl/ch-1.pl b/challenge-089/dave-jacoby/perl/ch-1.pl
new file mode 100644
index 0000000000..058d9d0b06
--- /dev/null
+++ b/challenge-089/dave-jacoby/perl/ch-1.pl
@@ -0,0 +1,40 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use feature qw{ say signatures state };
+no warnings qw{ experimental };
+
+use Carp;
+use Getopt::Long;
+use List::Util qw{ max };
+use List::Compare;
+
+my $n = 3;
+GetOptions( 'number=i' => \$n );
+croak 'Negative Number' if $n < 1;
+my $o = gcd($n);
+say <<"END";
+ INPUT: $n
+ OUTPUT: $o
+END
+
+sub gcd( $n ) {
+ my $output = 0;
+ for my $i ( 1 .. $n - 1 ) {
+ for my $j ( $i + 1 .. $n ) {
+ my $di->@* = get_divisors($i);
+ my $dj->@* = get_divisors($j);
+ my $dc = List::Compare->new( $di, $dj );
+ my @d = $dc->get_intersection;
+ my $g = max @d;
+ $output += $g;
+ }
+ }
+ return $output;
+}
+
+sub get_divisors ( $n ) {
+ my @div;
+ for my $i ( 1 .. $n ) { push @div, $i if $n % $i == 0; }
+ return @div;
+}
diff --git a/challenge-089/dave-jacoby/perl/ch-2.pl b/challenge-089/dave-jacoby/perl/ch-2.pl
new file mode 100644
index 0000000000..8748e3dd28
--- /dev/null
+++ b/challenge-089/dave-jacoby/perl/ch-2.pl
@@ -0,0 +1,56 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use feature qw{ say signatures state };
+no warnings qw{ experimental };
+
+my $numbers = [ 1 .. 9 ];
+my $array;
+
+recurse_magic_box( $numbers, $array );
+
+sub recurse_magic_box ( $numbers, $array ) {
+
+ # numbers is the list of allowable numbers
+ for my $n (@$numbers) {
+ push @$array, $n;
+ if ( check_magic_box($array) ) {
+ recurse_magic_box( $numbers, $array );
+ }
+ pop @$array;
+ }
+}
+
+sub check_magic_box ( $array ) {
+ for my $n (@$array) {
+ my $c = scalar grep { m{$n} } @$array;
+ return 0 if $c > 1;
+ }
+
+ if ( scalar @$array == 9 ) {
+ my $sum = 15;
+ my $checks = [
+ [ 0, 1, 2 ], # first row
+ [ 3, 4, 5 ], # second row
+ [ 6, 7, 8 ], # third row
+ [ 0, 3, 6 ], # first col
+ [ 1, 4, 7 ], # second col
+ [ 2, 5, 8 ], # third col
+ [ 0, 4, 8 ], # diagonal from top right
+ [ 6, 4, 2 ], # diagonal from bottom right
+ ];
+ for my $check (@$checks) {
+ my $s = 0;
+ for my $p (@$check) {
+ $s += $array->[$p];
+ }
+ return 0 if $s != $sum;
+ }
+ say "\t" . join ' ', @$array[ 0 .. 2 ];
+ say "\t" . join ' ', @$array[ 3 .. 5 ];
+ say "\t" . join ' ', @$array[ 6 .. 8 ];
+ say '';
+ }
+ return 1;
+}