diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-12-01 06:11:31 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-01 06:11:31 +0000 |
| commit | 8ec9d91e0a2b2812e6077849584718a1bc39ee04 (patch) | |
| tree | 7ceb0fd8a4384c4afa7041fa0d472c91354a7e4c | |
| parent | ec4bde6d213e5e6dded916541b61d3c5e29f8233 (diff) | |
| parent | 553eac2662431858e609d776ee0d6af39b4c86c0 (diff) | |
| download | perlweeklychallenge-club-8ec9d91e0a2b2812e6077849584718a1bc39ee04.tar.gz perlweeklychallenge-club-8ec9d91e0a2b2812e6077849584718a1bc39ee04.tar.bz2 perlweeklychallenge-club-8ec9d91e0a2b2812e6077849584718a1bc39ee04.zip | |
Merge pull request #2897 from jacoby/master
Challenge 89
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 Binary files differdeleted file mode 100644 index d11770bb3d..0000000000 --- a/challenge-005/ruben-westerberg/perl5/.ch-2.pl.swp +++ /dev/null diff --git a/challenge-005/ruben-westerberg/perl6/.ch-1.p6.swp b/challenge-005/ruben-westerberg/perl6/.ch-1.p6.swp Binary files differdeleted file mode 100644 index 435426945c..0000000000 --- a/challenge-005/ruben-westerberg/perl6/.ch-1.p6.swp +++ /dev/null diff --git a/challenge-005/ruben-westerberg/perl6/.ch-2.p6.swp b/challenge-005/ruben-westerberg/perl6/.ch-2.p6.swp Binary files differdeleted file mode 100644 index a0673fa496..0000000000 --- a/challenge-005/ruben-westerberg/perl6/.ch-2.p6.swp +++ /dev/null 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 Binary files differdeleted file mode 100644 index 90d5f7521d..0000000000 --- a/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA +++ /dev/null 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 Binary files differdeleted file mode 100644 index ae1304a28b..0000000000 --- a/challenge-018/arne-sommer/perl6/lib/.precomp/B834E114E7A64AF8236503A5AE1E84F9F37C8B47/03/03D0BC625DDEC3BE511B7A604CF03963963B5CBF +++ /dev/null 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 Binary files differdeleted file mode 100644 index 59aed5f7fa..0000000000 --- a/challenge-031/adam-russell/cxx/.precomp/22B95C1B62814CF03F5AD9D8EBAA9B4D33FCAD42/A5/A5FF1C641758CC02744172A50E577BBE06C2A1C5 +++ /dev/null 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 Binary files differdeleted file mode 100644 index 8838b1ef21..0000000000 --- a/challenge-071/mohammad-anwar/java/Node.class +++ /dev/null diff --git a/challenge-075/cheok-yin-fung/java/coinssum.class b/challenge-075/cheok-yin-fung/java/coinssum.class Binary files differdeleted file mode 100644 index 674b401cb4..0000000000 --- a/challenge-075/cheok-yin-fung/java/coinssum.class +++ /dev/null diff --git a/challenge-075/cheok-yin-fung/java/histogram.class b/challenge-075/cheok-yin-fung/java/histogram.class Binary files differdeleted file mode 100644 index 83eefe0814..0000000000 --- a/challenge-075/cheok-yin-fung/java/histogram.class +++ /dev/null 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; +} |
