From b8139671cf7b05d0d3f7389de80419b90c28a6dc Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 6 Dec 2020 13:49:48 +0000 Subject: - Added solutions by Athanasius. --- challenge-089/athanasius/perl/ch-1.pl | 120 +++++ challenge-089/athanasius/perl/ch-2.pl | 181 ++++++++ challenge-089/athanasius/raku/ch-1.raku | 96 ++++ challenge-089/athanasius/raku/ch-2.raku | 145 ++++++ stats/pwc-current.json | 235 +++++----- stats/pwc-language-breakdown-summary.json | 70 +-- stats/pwc-language-breakdown.json | 628 +++++++++++++------------- stats/pwc-leaders.json | 726 +++++++++++++++--------------- stats/pwc-summary-1-30.json | 116 ++--- stats/pwc-summary-121-150.json | 40 +- stats/pwc-summary-151-180.json | 96 ++-- stats/pwc-summary-181-210.json | 28 +- stats/pwc-summary-31-60.json | 54 +-- stats/pwc-summary-61-90.json | 36 +- stats/pwc-summary-91-120.json | 38 +- stats/pwc-summary.json | 484 ++++++++++---------- 16 files changed, 1827 insertions(+), 1266 deletions(-) create mode 100644 challenge-089/athanasius/perl/ch-1.pl create mode 100644 challenge-089/athanasius/perl/ch-2.pl create mode 100644 challenge-089/athanasius/raku/ch-1.raku create mode 100644 challenge-089/athanasius/raku/ch-2.raku diff --git a/challenge-089/athanasius/perl/ch-1.pl b/challenge-089/athanasius/perl/ch-1.pl new file mode 100644 index 0000000000..c88c07f2fb --- /dev/null +++ b/challenge-089/athanasius/perl/ch-1.pl @@ -0,0 +1,120 @@ +#!perl + +############################################################################### +=comment + +Perl Weekly Challenge 089 +========================= + +Task #1 +------- +*GCD Sum* + +Submitted by: Mohammad S Anwar + +You are given a positive integer $N. + +Write a script to sum [ https://en.wikipedia.org/wiki/Greatest_common_divisor | +GCD] of all possible unique pairs between 1 and $N. + +Example 1: + + Input: 3 + Output: 3 + + gcd(1,2) + gcd(1,3) + gcd(2,3) + +Example 2: + + Input: 4 + Output: 7 + + gcd(1,2) + gcd(1,3) + gcd(1,4) + gcd(2,3) + gcd(2,4) + gcd(3,4) + +=cut +############################################################################### + +#--------------------------------------# +# Copyright © 2020 PerlMonk Athanasius # +#--------------------------------------# + +#============================================================================== +=comment + +From the Examples, it appears that "all possible unique pairs between 1 and $N" +should be interpreted to mean: + + all (i, j) such that 1 <= i < j <= N. + +In the solution below, the GCD calculation is performed by the gcd() function +in the CPAN module Math::Prime::Util. + +=cut +#============================================================================== + +use strict; +use warnings; +use Const::Fast; +use Math::Prime::Util qw( gcd ); +use Regexp::Common qw( number ); + +const my $USAGE => +"Usage: + perl $0 + + A positive integer\n"; + +#------------------------------------------------------------------------------ +BEGIN +#------------------------------------------------------------------------------ +{ + $| = 1; + print "\nChallenge 089, Task #1: GCD Sum (Perl)\n\n"; +} + +#============================================================================== +MAIN: +#============================================================================== +{ + my $N = parse_command_line(); + + print "Input: $N\n"; + + my $sum = 0; + + for my $i (1 .. $N - 1) + { + for my $j ($i + 1 .. $N) + { + $sum += gcd($i, $j); + } + } + + print "Output: $sum\n"; +} + +#------------------------------------------------------------------------------ +sub parse_command_line +#------------------------------------------------------------------------------ +{ + my $args = scalar @ARGV; + $args == 0 and error('Command-line argument missing' ); + $args > 1 and error('Too many command-line arguments'); + + my $N = $ARGV[0]; + $N =~ /\A$RE{num}{int}\z/ or error( qq["$N" is not an integer] ); + $N > 0 or error( qq["$N" is not positive] ); + + return $N; +} + +#------------------------------------------------------------------------------ +sub error +#------------------------------------------------------------------------------ +{ + my ($message) = @_; + + die "ERROR: $message\n$USAGE"; +} + +############################################################################### diff --git a/challenge-089/athanasius/perl/ch-2.pl b/challenge-089/athanasius/perl/ch-2.pl new file mode 100644 index 0000000000..481cd18384 --- /dev/null +++ b/challenge-089/athanasius/perl/ch-2.pl @@ -0,0 +1,181 @@ +#!perl + +############################################################################### +=comment + +Perl Weekly Challenge 089 +========================= + +Task #2 +------- +*Magical Matrix* + +Submitted by: Mohammad S Anwar + +Write a script to display matrix as below with numbers 1 - 9. Please make sure +numbers are used once. + + [ a b c ] + [ d e f ] + [ g h i ] + +So that it satisfies the following: + + a + b + c = 15 + d + e + f = 15 + g + h + i = 15 + a + d + g = 15 + b + e + h = 15 + c + f + i = 15 + a + e + i = 15 + c + e + g = 15 + +=cut +############################################################################### + +#--------------------------------------# +# Copyright © 2020 PerlMonk Athanasius # +#--------------------------------------# + +#============================================================================== +=comment + +Although the Task is to construct a normal magic square of order 3 only, the +solution below implements the Siamese (or De la Loubère) method which works for +any odd-numbered order greater than or equal to 3. Reference: + + https://en.wikipedia.org/wiki/Siamese_method + +=cut +#============================================================================== + +use strict; +use warnings; +use Const::Fast; +use Regexp::Common qw( number ); + +const my $DEFAULT_ORDER => 3; +const my $USAGE => +"Usage: + perl $0 [] + + [] (Odd integer >= 3; defaults to 3) Order of normal magic square +"; + +#------------------------------------------------------------------------------ +BEGIN +#------------------------------------------------------------------------------ +{ + $| = 1; + print "\nChallenge 089, Task #2: Magical Matrix (Perl)\n\n"; +} + +#============================================================================== +MAIN: +#============================================================================== +{ + my $order = parse_command_line(); + + print "A normal magic square of order $order:\n\n"; + + my $square = build_square($order); + my $width = length ($order * $order); + + for my $row (0 .. $#$square) + { + printf " [ %s ]\n", + join ' ', map { sprintf '%*s', $width, $_ } @{ $square->[$row] }; + } +} + +#------------------------------------------------------------------------------ +sub build_square # Use the Siamese method to construct a + # normal magic square with odd order >= 3 +#------------------------------------------------------------------------------ +{ + my ($order) = @_; + my $square; + + push @$square, [ (0) x $order ] for 1 .. $order; + + my $max_idx = $order - 1; + my $row = 1; + my $col = int( ($order / 2) ) - 1; + + # From the Wikipedia article cited above: + # + # "... starting from the central box of the first row with the number 1 ... + # the fundamental movement for filling the boxes is diagonally up and right + # (↗), one step at a time. When a move would leave the square, it is + # wrapped around to the last row or first column, respectively. + # + # "If a filled box is encountered, one moves vertically down one box (↓) + # instead, then continuing as before." + + for my $n (1 .. $order * $order) + { + if ($row == 0 && $col == $max_idx) # At the top right corner: + { # Drop down one row + $row = 1; + } + elsif ($row == 0) # On the top edge: + { # Wrap around to the last row + $row = $max_idx; + ++$col; + } + elsif ($col == $max_idx) # On the right edge: + { # Wrap around to first column + $col = 0; + --$row; + } + elsif ($square->[$row - 1][$col + 1] > 0) + { # Next square is already filled: + ++$row; # Drop down one row + } + else # Default case: + { # Move diagonally up and right + --$row; + ++$col; + } + + $square->[$row][$col] = $n; + } + + return $square; +} + +#------------------------------------------------------------------------------ +sub parse_command_line +#------------------------------------------------------------------------------ +{ + my $args = scalar @ARGV; + my $order; + + if ($args == 0) + { + $order = $DEFAULT_ORDER; + } + elsif ($args == 1) + { + $order = $ARGV[0]; + $order =~ /\A$RE{num}{int}\z/ or error(qq["$order" is not an integer]); + $order >= 3 or error("Order $order is too small"); + } + else + { + error('Too many command-line arguments'); + } + + return $order; +} + +#------------------------------------------------------------------------------ +sub error +#------------------------------------------------------------------------------ +{ + my ($message) = @_; + + die "ERROR: $message\n$USAGE"; +} + +############################################################################### diff --git a/challenge-089/athanasius/raku/ch-1.raku b/challenge-089/athanasius/raku/ch-1.raku new file mode 100644 index 0000000000..8ba3c12844 --- /dev/null +++ b/challenge-089/athanasius/raku/ch-1.raku @@ -0,0 +1,96 @@ +use v6d; + +############################################################################### +=begin comment + +Perl Weekly Challenge 089 +========================= + +Task #1 +------- +*GCD Sum* + +Submitted by: Mohammad S Anwar + +You are given a positive integer $N. + +Write a script to sum [ https://en.wikipedia.org/wiki/Greatest_common_divisor | +GCD] of all possible unique pairs between 1 and $N. + +Example 1: + + Input: 3 + Output: 3 + + gcd(1,2) + gcd(1,3) + gcd(2,3) + +Example 2: + + Input: 4 + Output: 7 + + gcd(1,2) + gcd(1,3) + gcd(1,4) + gcd(2,3) + gcd(2,4) + gcd(3,4) + +=end comment +############################################################################### + +#--------------------------------------# +# Copyright © 2020 PerlMonk Athanasius # +#--------------------------------------# + +#============================================================================== +=begin comment + +From the Examples, it appears that "all possible unique pairs between 1 and $N" +should be interpreted to mean: + + all (i, j) such that 1 <= i < j <= N. + +In the solution below, the GCD calculation is performed by Raku's inbuilt gcd +infix operator. + +=end comment +#============================================================================== + +subset Positive of Int where * > 0; + +#------------------------------------------------------------------------------ +BEGIN +#------------------------------------------------------------------------------ +{ + "\nChallenge 089, Task #1: GCD Sum (Raku)\n".put; +} + +#============================================================================== +sub MAIN +( + Positive:D $N #= A positive integer +) +#============================================================================== +{ + "Input: $N".put; + + my UInt $sum = 0; + + for 1 .. $N - 1 -> Positive $i + { + for $i + 1 .. $N -> Positive $j + { + $sum += $i gcd $j; + } + } + + "Output: $sum".put; +} + +#------------------------------------------------------------------------------ +sub USAGE() +#------------------------------------------------------------------------------ +{ + my Str $usage = $*USAGE; + + $usage ~~ s/ ($*PROGRAM-NAME) /raku $0/; + $usage.put; +} + +############################################################################## diff --git a/challenge-089/athanasius/raku/ch-2.raku b/challenge-089/athanasius/raku/ch-2.raku new file mode 100644 index 0000000000..66c1ba2719 --- /dev/null +++ b/challenge-089/athanasius/raku/ch-2.raku @@ -0,0 +1,145 @@ +use v6d; + +############################################################################### +=begin comment + +Perl Weekly Challenge 089 +========================= + +Task #2 +------- +*Magical Matrix* + +Submitted by: Mohammad S Anwar + +Write a script to display matrix as below with numbers 1 - 9. Please make sure +numbers are used once. + + [ a b c ] + [ d e f ] + [ g h i ] + +So that it satisfies the following: + + a + b + c = 15 + d + e + f = 15 + g + h + i = 15 + a + d + g = 15 + b + e + h = 15 + c + f + i = 15 + a + e + i = 15 + c + e + g = 15 + +=end comment +############################################################################### + +#--------------------------------------# +# Copyright © 2020 PerlMonk Athanasius # +#--------------------------------------# + +#============================================================================== +=begin comment + +Although the Task is to construct a normal magic square of order 3 only, the +solution below implements the Siamese (or De la Loubère) method which works for +any odd-numbered order greater than or equal to 3. Reference: + + https://en.wikipedia.org/wiki/Siamese_method + +=end comment +#============================================================================== + +#------------------------------------------------------------------------------ +BEGIN +#------------------------------------------------------------------------------ +{ + "\nChallenge 089, Task #2: Magical Matrix (Raku)\n".put; +} + +my UInt constant $DEFAULT-ORDER = 3; + +#============================================================================== +sub MAIN +( + #| (Odd integer >= 3; defaults to 3) Order of normal magic square + + UInt:D $order where { $order >= 3 && $order % 2 == 1 } = $DEFAULT-ORDER +) +#============================================================================== +{ + "A normal magic square of order $order:\n".put; + + my UInt $width = ($order * $order).chars; + my Array[UInt] @square = build-square($order); + + for 0 .. @square.end -> UInt $row + { + " [ %s ]\n".printf: + @square[$row].map( { '%*s'.sprintf: $width, $_ } ).join: ' '; + } +} + +#------------------------------------------------------------------------------ +# Use the Siamese method to construct a normal magic square with odd order >= 3 +# +sub build-square( UInt:D $order --> Array:D[Array:D[UInt:D]] ) +#------------------------------------------------------------------------------ +{ + my Array[UInt] @square = Array[UInt].new([ 0 xx $order ]) xx $order; + my UInt $max-idx = $order - 1; + my UInt $row = 1; + my UInt $col = ((($order / 2)) - 1).floor; + + # From the Wikipedia article cited above: + # + # "... starting from the central box of the first row with the number 1 ... + # the fundamental movement for filling the boxes is diagonally up and right + # (↗), one step at a time. When a move would leave the square, it is + # wrapped around to the last row or first column, respectively. + # + # "If a filled box is encountered, one moves vertically down one box (↓) + # instead, then continuing as before." + + for 1 .. $order * $order -> UInt $n + { + if $row == 0 && $col == $max-idx # At the top right corner: + { # Drop down one row + $row = 1; + } + elsif $row == 0 # On the top edge: + { # Wrap around to the last row + $row = $max-idx; + ++$col; + } + elsif $col == $max-idx # On the right edge: + { # Wrap around to first column + $col = 0; + --$row; + } + elsif @square[$row - 1; $col + 1] > 0 # Next square is already filled: + { # Drop down one row + ++$row; + } + else # Default case: + { # Move diagonally up and right + --$row; + ++$col; + } + + @square[$row; $col] = $n; + } + + return @square; +} + +#------------------------------------------------------------------------------ +sub USAGE() +#------------------------------------------------------------------------------ +{ + my Str $usage = $*USAGE; + + $usage ~~ s/ ($*PROGRAM-NAME) /raku $0/; + $usage.put; +} + +############################################################################## diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 3e01695d95..706fa8062d 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,140 +1,163 @@ { + "xAxis" : { + "type" : "category" + }, + "subtitle" : { + "text" : "[Champions: 26] Last updated at 2020-12-06 13:49:27 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge - 089" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, + "chart" : { + "type" : "column" + }, "series" : [ { - "colorByPoint" : 1, "data" : [ { - "drilldown" : "Aaron Smith", "y" : 3, + "drilldown" : "Aaron Smith", "name" : "Aaron Smith" }, { - "y" : 2, "name" : "Abigail", + "y" : 2, "drilldown" : "Abigail" }, { - "name" : "Alexander Pankoff", "y" : 2, - "drilldown" : "Alexander Pankoff" + "drilldown" : "Alexander Pankoff", + "name" : "Alexander Pankoff" }, { + "name" : "Andrew Shitov", "drilldown" : "Andrew Shitov", - "y" : 2, - "name" : "Andrew Shitov" + "y" : 2 }, { - "name" : "Arne Sommer", "y" : 5, - "drilldown" : "Arne Sommer" + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer" + }, + { + "name" : "Athanasius", + "y" : 4, + "drilldown" : "Athanasius" }, { - "drilldown" : "Clifton Wood", "y" : 2, + "drilldown" : "Clifton Wood", "name" : "Clifton Wood" }, { - "name" : "Dave Jacoby", "y" : 3, - "drilldown" : "Dave Jacoby" + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { - "name" : "Feng Chang", + "drilldown" : "Feng Chang", "y" : 2, - "drilldown" : "Feng Chang" + "name" : "Feng Chang" }, { - "y" : 2, "name" : "James Smith", + "y" : 2, "drilldown" : "James Smith" }, { + "y" : 2, "drilldown" : "Jan Krnavek", - "name" : "Jan Krnavek", - "y" : 2 + "name" : "Jan Krnavek" }, { "name" : "Joel Crosswhite", - "y" : 2, - "drilldown" : "Joel Crosswhite" + "drilldown" : "Joel Crosswhite", + "y" : 2 }, { + "drilldown" : "Jorg Sommrey", "y" : 2, - "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey" + "name" : "Jorg Sommrey" }, { - "name" : "Kang-min Liu", + "drilldown" : "Kang-min Liu", "y" : 4, - "drilldown" : "Kang-min Liu" + "name" : "Kang-min Liu" }, { - "drilldown" : "Lubos Kolouch", "name" : "Lubos Kolouch", + "drilldown" : "Lubos Kolouch", "y" : 2 }, { - "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", "y" : 2, - "name" : "Mark Anderson" + "drilldown" : "Mark Anderson" }, { "name" : "Miguel Prz", - "y" : 2, - "drilldown" : "Miguel Prz" + "drilldown" : "Miguel Prz", + "y" : 2 }, { "y" : 2, - "name" : "Nuno Vieira", - "drilldown" : "Nuno Vieira" + "drilldown" : "Nuno Vieira", + "name" : "Nuno Vieira" }, { - "name" : "Philip Hood", + "drilldown" : "Philip Hood", "y" : 2, - "drilldown" : "Philip Hood" + "name" : "Philip Hood" }, { - "drilldown" : "Roger Bell_West", "name" : "Roger Bell_West", + "drilldown" : "Roger Bell_West", "y" : 5 }, { - "drilldown" : "Simon Green", "y" : 3, + "drilldown" : "Simon Green", "name" : "Simon Green" }, { - "y" : 2, "name" : "Simon Proctor", - "drilldown" : "Simon Proctor" + "drilldown" : "Simon Proctor", + "y" : 2 }, { - "name" : "Stuart Little", "y" : 2, - "drilldown" : "Stuart Little" + "drilldown" : "Stuart Little", + "name" : "Stuart Little" }, { - "drilldown" : "Ulrich Rieke", "name" : "Ulrich Rieke", - "y" : 4 + "y" : 4, + "drilldown" : "Ulrich Rieke" }, { + "y" : 3, "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan", - "y" : 3 + "name" : "W. Luis Mochan" }, { - "drilldown" : "Walt Mankowski", "name" : "Walt Mankowski", + "drilldown" : "Walt Mankowski", "y" : 3 } ], - "name" : "Perl Weekly Challenge - 089" + "name" : "Perl Weekly Challenge - 089", + "colorByPoint" : 1 } ], - "chart" : { - "type" : "column" - }, "legend" : { "enabled" : 0 }, @@ -143,25 +166,9 @@ "text" : "Total Solutions" } }, - "xAxis" : { - "type" : "category" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "subtitle" : { - "text" : "[Champions: 25] Last updated at 2020-12-06 13:27:28 GMT" - }, "drilldown" : { "series" : [ { - "id" : "Aaron Smith", "data" : [ [ "Raku", @@ -172,7 +179,8 @@ 1 ] ], - "name" : "Aaron Smith" + "name" : "Aaron Smith", + "id" : "Aaron Smith" }, { "id" : "Abigail", @@ -185,16 +193,17 @@ ] }, { + "id" : "Alexander Pankoff", "name" : "Alexander Pankoff", "data" : [ [ "Perl", 2 ] - ], - "id" : "Alexander Pankoff" + ] }, { + "name" : "Andrew Shitov", "data" : [ [ "Perl", @@ -205,10 +214,10 @@ 1 ] ], - "name" : "Andrew Shitov", "id" : "Andrew Shitov" }, { + "name" : "Arne Sommer", "data" : [ [ "Perl", @@ -223,21 +232,34 @@ 1 ] ], - "name" : "Arne Sommer", "id" : "Arne Sommer" }, { - "name" : "Clifton Wood", + "id" : "Athanasius", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "name" : "Athanasius" + }, + { + "id" : "Clifton Wood", "data" : [ [ "Raku", 2 ] ], - "id" : "Clifton Wood" + "name" : "Clifton Wood" }, { - "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -248,37 +270,37 @@ 1 ] ], - "name" : "Dave Jacoby" + "id" : "Dave Jacoby" }, { - "id" : "Feng Chang", + "name" : "Feng Chang", "data" : [ [ "Raku", 2 ] ], - "name" : "Feng Chang" + "id" : "Feng Chang" }, { "id" : "James Smith", + "name" : "James Smith", "data" : [ [ "Perl", 2 ] - ], - "name" : "James Smith" + ] }, { "id" : "Jan Krnavek", - "name" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Jan Krnavek" }, { "name" : "Joel Crosswhite", @@ -291,17 +313,16 @@ "id" : "Joel Crosswhite" }, { + "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], - "name" : "Jorg Sommrey", - "id" : "Jorg Sommrey" + "name" : "Jorg Sommrey" }, { - "id" : "Kang-min Liu", "data" : [ [ "Raku", @@ -312,37 +333,38 @@ 2 ] ], - "name" : "Kang-min Liu" + "name" : "Kang-min Liu", + "id" : "Kang-min Liu" }, { "id" : "Lubos Kolouch", - "name" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Lubos Kolouch" }, { - "id" : "Mark Anderson", "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson" }, { - "id" : "Miguel Prz", + "name" : "Miguel Prz", "data" : [ [ "Perl", 2 ] ], - "name" : "Miguel Prz" + "id" : "Miguel Prz" }, { "data" : [ @@ -355,18 +377,17 @@ "id" : "Nuno Vieira" }, { - "id" : "Philip Hood", "name" : "Philip Hood", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Philip Hood" }, { "id" : "Roger Bell_West", - "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -380,9 +401,11 @@ "Blog", 1 ] - ] + ], + "name" : "Roger Bell_West" }, { + "name" : "Simon Green", "data" : [ [ "Perl", @@ -393,32 +416,29 @@ 1 ] ], - "name" : "Simon Green", "id" : "Simon Green" }, { + "id" : "Simon Proctor", + "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] - ], - "name" : "Simon Proctor", - "id" : "Simon Proctor" + ] }, { + "id" : "Stuart Little", "data" : [ [ "Raku", 2 ] ], - "name" : "Stuart Little", - "id" : "Stuart Little" + "name" : "Stuart Little" }, { - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -428,7 +448,9 @@ "Raku", 2 ] - ] + ], + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke" }, { "id" : "W. Luis Mochan", @@ -445,7 +467,7 @@ ] }, { - "id" : "Walt Mankowski", + "name" : "Walt Mankowski", "data" : [ [ "Perl", @@ -456,16 +478,13 @@ 1 ] ], - "name" : "Walt Mankowski" + "id" : "Walt Mankowski" } ] }, - "title" : { - "text" : "Perl Weekly Challenge - 089" - }, "tooltip" : { + "followPointer" : 1, "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1 + "pointFormat" : "{point.name}: {point.y:f}
" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 55f57073e2..f444712cc2 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,30 +1,33 @@ { + "subtitle" : { + "text" : "Last updated at 2020-12-06 13:49:26 GMT" + }, "title" : { "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, + "xAxis" : { + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + }, + "type" : "category" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, "tooltip" : { "pointFormat" : "{point.y:.0f}" }, "legend" : { "enabled" : "false" }, - "chart" : { - "type" : "column" - }, "series" : [ { - "dataLabels" : { - "enabled" : "true", - "color" : "#FFFFFF", - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "rotation" : -90, - "y" : 10, - "format" : "{point.y:.0f}", - "align" : "right" - }, "name" : "Contributions", "data" : [ [ @@ -33,31 +36,28 @@ ], [ "Perl", - 3993 + 3995 ], [ "Raku", - 2634 + 2636 ] - ] - } - ], - "subtitle" : { - "text" : "Last updated at 2020-12-06 13:27:28 GMT" - }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + ], + "dataLabels" : { + "enabled" : "true", + "y" : 10, + "align" : "right", + "color" : "#FFFFFF", + "format" : "{point.y:.0f}", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "rotation" : -90 } } - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 + ], + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index be26bf8a23..5f923a01e3 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,14 +1,17 @@ { - "tooltip" : { - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "headerFormat" : "", - "followPointer" : "true" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-12-06 13:49:27 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, + "xAxis" : { + "type" : "category" }, "drilldown" : { "series" : [ { "id" : "001", - "name" : "001", "data" : [ [ "Perl", @@ -22,7 +25,8 @@ "Blog", 11 ] - ] + ], + "name" : "001" }, { "data" : [ @@ -43,7 +47,6 @@ "id" : "002" }, { - "id" : "003", "name" : "003", "data" : [ [ @@ -58,7 +61,8 @@ "Blog", 9 ] - ] + ], + "id" : "003" }, { "id" : "004", @@ -79,6 +83,7 @@ ] }, { + "name" : "005", "data" : [ [ "Perl", @@ -93,11 +98,11 @@ 12 ] ], - "name" : "005", "id" : "005" }, { "id" : "006", + "name" : "006", "data" : [ [ "Perl", @@ -111,11 +116,10 @@ "Blog", 7 ] - ], - "name" : "006" + ] }, { - "name" : "007", + "id" : "007", "data" : [ [ "Perl", @@ -130,9 +134,10 @@ 10 ] ], - "id" : "007" + "name" : "007" }, { + "id" : "008", "data" : [ [ "Perl", @@ -147,12 +152,10 @@ 12 ] ], - "name" : "008", - "id" : "008" + "name" : "008" }, { "id" : "009", - "name" : "009", "data" : [ [ "Perl", @@ -166,9 +169,11 @@ "Blog", 13 ] - ] + ], + "name" : "009" }, { + "name" : "010", "data" : [ [ "Perl", @@ -183,7 +188,6 @@ 11 ] ], - "name" : "010", "id" : "010" }, { @@ -206,7 +210,6 @@ }, { "id" : "012", - "name" : "012", "data" : [ [ "Perl", @@ -220,10 +223,10 @@ "Blog", 11 ] - ] + ], + "name" : "012" }, { - "id" : "013", "name" : "013", "data" : [ [ @@ -238,11 +241,10 @@ "Blog", 13 ] - ] + ], + "id" : "013" }, { - "id" : "014", - "name" : "014", "data" : [ [ "Perl", @@ -256,11 +258,11 @@ "Blog", 15 ] - ] + ], + "name" : "014", + "id" : "014" }, { - "id" : "015", - "name" : "015", "data" : [ [ "Perl", @@ -274,7 +276,9 @@ "Blog", 15 ] - ] + ], + "name" : "015", + "id" : "015" }, { "id" : "016", @@ -295,6 +299,7 @@ "name" : "016" }, { + "name" : "017", "data" : [ [ "Perl", @@ -309,10 +314,10 @@ 12 ] ], - "name" : "017", "id" : "017" }, { + "id" : "018", "name" : "018", "data" : [ [ @@ -327,12 +332,9 @@ "Blog", 14 ] - ], - "id" : "018" + ] }, { - "id" : "019", - "name" : "019", "data" : [ [ "Perl", @@ -346,7 +348,9 @@ "Blog", 13 ] - ] + ], + "name" : "019", + "id" : "019" }, { "id" : "020", @@ -367,8 +371,6 @@ "name" : "020" }, { - "id" : "021", - "name" : "021", "data" : [ [ "Perl", @@ -382,11 +384,11 @@ "Blog", 10 ] - ] + ], + "name" : "021", + "id" : "021" }, { - "id" : "022", - "name" : "022", "data" : [ [ "Perl", @@ -400,10 +402,11 @@ "Blog", 10 ] - ] + ], + "name" : "022", + "id" : "022" }, { - "id" : "023", "name" : "023", "data" : [ [ @@ -418,10 +421,10 @@ "Blog", 12 ] - ] + ], + "id" : "023" }, { - "name" : "024", "data" : [ [ "Perl", @@ -436,9 +439,11 @@ 11 ] ], + "name" : "024", "id" : "024" }, { + "id" : "025", "name" : "025", "data" : [ [ @@ -453,10 +458,10 @@ "Blog", 12 ] - ], - "id" : "025" + ] }, { + "id" : "026", "name" : "026", "data" : [ [ @@ -471,11 +476,9 @@ "Blog", 10 ] - ], - "id" : "026" + ] }, { - "id" : "027", "name" : "027", "data" : [ [ @@ -490,9 +493,11 @@ "Blog", 9 ] - ] + ], + "id" : "027" }, { + "id" : "028", "data" : [ [ "Perl", @@ -507,11 +512,10 @@ 9 ] ], - "name" : "028", - "id" : "028" + "name" : "028" }, { - "id" : "029", + "name" : "029", "data" : [ [ "Perl", @@ -526,10 +530,9 @@ 12 ] ], - "name" : "029" + "id" : "029" }, { - "id" : "030", "name" : "030", "data" : [ [ @@ -544,10 +547,11 @@ "Blog", 10 ] - ] + ], + "id" : "030" }, { - "id" : "031", + "name" : "031", "data" : [ [ "Perl", @@ -562,7 +566,7 @@ 9 ] ], - "name" : "031" + "id" : "031" }, { "id" : "032", @@ -583,7 +587,6 @@ ] }, { - "id" : "033", "name" : "033", "data" : [ [ @@ -598,7 +601,8 @@ "Blog", 10 ] - ] + ], + "id" : "033" }, { "id" : "034", @@ -619,6 +623,7 @@ ] }, { + "id" : "035", "data" : [ [ "Perl", @@ -633,11 +638,9 @@ 9 ] ], - "name" : "035", - "id" : "035" + "name" : "035" }, { - "name" : "036", "data" : [ [ "Perl", @@ -652,9 +655,12 @@ 11 ] ], + "name" : "036", "id" : "036" }, { + "id" : "037", + "name" : "037", "data" : [ [ "Perl", @@ -668,9 +674,7 @@ "Blog", 9 ] - ], - "name" : "037", - "id" : "037" + ] }, { "name" : "038", @@ -691,7 +695,6 @@ "id" : "038" }, { - "id" : "039", "name" : "039", "data" : [ [ @@ -706,9 +709,12 @@ "Blog", 12 ] - ] + ], + "id" : "039" }, { + "id" : "040", + "name" : "040", "data" : [ [ "Perl", @@ -722,11 +728,10 @@ "Blog", 10 ] - ], - "name" : "040", - "id" : "040" + ] }, { + "id" : "041", "name" : "041", "data" : [ [ @@ -741,12 +746,10 @@ "Blog", 9 ] - ], - "id" : "041" + ] }, { "id" : "042", - "name" : "042", "data" : [ [ "Perl", @@ -760,10 +763,12 @@ "Blog", 11 ] - ] + ], + "name" : "042" }, { "id" : "043", + "name" : "043", "data" : [ [ "Perl", @@ -777,10 +782,11 @@ "Blog", 11 ] - ], - "name" : "043" + ] }, { + "id" : "044", + "name" : "044", "data" : [ [ "Perl", @@ -794,12 +800,9 @@ "Blog", 11 ] - ], - "name" : "044", - "id" : "044" + ] }, { - "name" : "045", "data" : [ [ "Perl", @@ -814,9 +817,12 @@ 11 ] ], + "name" : "045", "id" : "045" }, { + "id" : "046", + "name" : "046", "data" : [ [ "Perl", @@ -830,13 +836,9 @@ "Blog", 10 ] - ], - "name" : "046", - "id" : "046" + ] }, { - "id" : "047", - "name" : "047", "data" : [ [ "Perl", @@ -850,10 +852,11 @@ "Blog", 10 ] - ] + ], + "name" : "047", + "id" : "047" }, { - "id" : "048", "name" : "048", "data" : [ [ @@ -868,7 +871,8 @@ "Blog", 12 ] - ] + ], + "id" : "048" }, { "id" : "049", @@ -889,6 +893,7 @@ "name" : "049" }, { + "id" : "050", "data" : [ [ "Perl", @@ -903,11 +908,9 @@ 12 ] ], - "name" : "050", - "id" : "050" + "name" : "050" }, { - "id" : "051", "name" : "051", "data" : [ [ @@ -922,10 +925,12 @@ "Blog", 11 ] - ] + ], + "id" : "051" }, { "id" : "052", + "name" : "052", "data" : [ [ "Perl", @@ -939,10 +944,11 @@ "Blog", 14 ] - ], - "name" : "052" + ] }, { + "id" : "053", + "name" : "053", "data" : [ [ "Perl", @@ -956,9 +962,7 @@ "Blog", 15 ] - ], - "name" : "053", - "id" : "053" + ] }, { "name" : "054", @@ -979,7 +983,6 @@ "id" : "054" }, { - "name" : "055", "data" : [ [ "Perl", @@ -994,10 +997,10 @@ 14 ] ], + "name" : "055", "id" : "055" }, { - "id" : "056", "data" : [ [ "Perl", @@ -1012,10 +1015,11 @@ 16 ] ], - "name" : "056" + "name" : "056", + "id" : "056" }, { - "id" : "057", + "name" : "057", "data" : [ [ "Perl", @@ -1030,10 +1034,11 @@ 15 ] ], - "name" : "057" + "id" : "057" }, { "id" : "058", + "name" : "058", "data" : [ [ "Perl", @@ -1047,8 +1052,7 @@ "Blog", 13 ] - ], - "name" : "058" + ] }, { "name" : "059", @@ -1105,6 +1109,7 @@ "name" : "061" }, { + "id" : "062", "data" : [ [ "Perl", @@ -1119,10 +1124,10 @@ 11 ] ], - "name" : "062", - "id" : "062" + "name" : "062" }, { + "name" : "063", "data" : [ [ "Perl", @@ -1137,7 +1142,6 @@ 13 ] ], - "name" : "063", "id" : "063" }, { @@ -1177,6 +1181,8 @@ "id" : "065" }, { + "id" : "066", + "name" : "066", "data" : [ [ "Perl", @@ -1190,13 +1196,10 @@ "Blog", 14 ] - ], - "name" : "066", - "id" : "066" + ] }, { "id" : "067", - "name" : "067", "data" : [ [ "Perl", @@ -1210,10 +1213,10 @@ "Blog", 18 ] - ] + ], + "name" : "067" }, { - "id" : "068", "name" : "068", "data" : [ [ @@ -1228,10 +1231,11 @@ "Blog", 13 ] - ] + ], + "id" : "068" }, { - "id" : "069", + "name" : "069", "data" : [ [ "Perl", @@ -1246,7 +1250,7 @@ 16 ] ], - "name" : "069" + "id" : "069" }, { "id" : "070", @@ -1267,6 +1271,7 @@ "name" : "070" }, { + "id" : "071", "name" : "071", "data" : [ [ @@ -1281,11 +1286,9 @@ "Blog", 15 ] - ], - "id" : "071" + ] }, { - "id" : "072", "data" : [ [ "Perl", @@ -1300,7 +1303,8 @@ 19 ] ], - "name" : "072" + "name" : "072", + "id" : "072" }, { "id" : "073", @@ -1321,7 +1325,7 @@ ] }, { - "id" : "074", + "name" : "074", "data" : [ [ "Perl", @@ -1336,7 +1340,7 @@ 20 ] ], - "name" : "074" + "id" : "074" }, { "id" : "075", @@ -1357,7 +1361,6 @@ ] }, { - "id" : "076", "name" : "076", "data" : [ [ @@ -1372,10 +1375,11 @@ "Blog", 16 ] - ] + ], + "id" : "076" }, { - "name" : "077", + "id" : "077", "data" : [ [ "Perl", @@ -1390,10 +1394,9 @@ 14 ] ], - "id" : "077" + "name" : "077" }, { - "id" : "078", "name" : "078", "data" : [ [ @@ -1408,7 +1411,8 @@ "Blog", 18 ] - ] + ], + "id" : "078" }, { "name" : "079", @@ -1447,6 +1451,8 @@ "id" : "080" }, { + "id" : "081", + "name" : "081", "data" : [ [ "Perl", @@ -1460,12 +1466,9 @@ "Blog", 15 ] - ], - "name" : "081", - "id" : "081" + ] }, { - "id" : "082", "name" : "082", "data" : [ [ @@ -1480,9 +1483,11 @@ "Blog", 17 ] - ] + ], + "id" : "082" }, { + "id" : "083", "name" : "083", "data" : [ [ @@ -1497,10 +1502,10 @@ "Blog", 16 ] - ], - "id" : "083" + ] }, { + "id" : "084", "data" : [ [ "Perl", @@ -1515,12 +1520,9 @@ 12 ] ], - "name" : "084", - "id" : "084" + "name" : "084" }, { - "id" : "085", - "name" : "085", "data" : [ [ "Perl", @@ -1534,11 +1536,12 @@ "Blog", 18 ] - ] + ], + "name" : "085", + "id" : "085" }, { "id" : "086", - "name" : "086", "data" : [ [ "Perl", @@ -1552,9 +1555,11 @@ "Blog", 15 ] - ] + ], + "name" : "086" }, { + "id" : "087", "name" : "087", "data" : [ [ @@ -1569,8 +1574,7 @@ "Blog", 14 ] - ], - "id" : "087" + ] }, { "id" : "088", @@ -1592,49 +1596,44 @@ }, { "id" : "089", - "name" : "089", "data" : [ [ "Perl", - 31 + 33 ], [ "Raku", - 25 + 27 ], [ "Blog", 9 ] - ] + ], + "name" : "089" } ] }, - "title" : { - "text" : "Perl Weekly Challenge Language" + "tooltip" : { + "pointFormat" : "Challenge {point.name}: {point.y:f}
", + "followPointer" : "true", + "headerFormat" : "" }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "xAxis" : { - "type" : "category" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-12-06 13:27:28 GMT" + "legend" : { + "enabled" : "false" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } + "chart" : { + "type" : "column" }, "series" : [ { + "colorByPoint" : "true", + "name" : "Perl Weekly Challenge Languages", "data" : [ { "name" : "#001", @@ -1642,14 +1641,14 @@ "drilldown" : "001" }, { - "drilldown" : "002", "y" : 116, + "drilldown" : "002", "name" : "#002" }, { "drilldown" : "003", - "name" : "#003", - "y" : 73 + "y" : 73, + "name" : "#003" }, { "drilldown" : "004", @@ -1658,8 +1657,8 @@ }, { "name" : "#005", - "y" : 72, - "drilldown" : "005" + "drilldown" : "005", + "y" : 72 }, { "name" : "#006", @@ -1668,62 +1667,62 @@ }, { "name" : "#007", - "y" : 61, - "drilldown" : "007" + "drilldown" : "007", + "y" : 61 }, { - "drilldown" : "008", "name" : "#008", - "y" : 74 + "y" : 74, + "drilldown" : "008" }, { - "name" : "#009", "y" : 72, - "drilldown" : "009" + "drilldown" : "009", + "name" : "#009" }, { + "drilldown" : "010", "y" : 60, - "name" : "#010", - "drilldown" : "010" + "name" : "#010" }, { "drilldown" : "011", - "name" : "#011", - "y" : 81 + "y" : 81, + "name" : "#011" }, { + "y" : 85, "drilldown" : "012", - "name" : "#012", - "y" : 85 + "name" : "#012" }, { + "drilldown" : "013", "y" : 80, - "name" : "#013", - "drilldown" : "013" + "name" : "#013" }, { - "drilldown" : "014", "name" : "#014", - "y" : 98 + "y" : 98, + "drilldown" : "014" }, { - "y" : 95, "name" : "#015", - "drilldown" : "015" + "drilldown" : "015", + "y" : 95 }, { - "name" : "#016", + "drilldown" : "016", "y" : 66, - "drilldown" : "016" + "name" : "#016" }, { - "name" : "#017", + "drilldown" : "017", "y" : 81, - "drilldown" : "017" + "name" : "#017" }, { - "y" : 78, "name" : "#018", + "y" : 78, "drilldown" : "018" }, { @@ -1733,172 +1732,172 @@ }, { "name" : "#020", - "y" : 97, - "drilldown" : "020" + "drilldown" : "020", + "y" : 97 }, { "drilldown" : "021", - "name" : "#021", - "y" : 67 + "y" : 67, + "name" : "#021" }, { - "y" : 63, "name" : "#022", - "drilldown" : "022" + "drilldown" : "022", + "y" : 63 }, { - "drilldown" : "023", "y" : 93, + "drilldown" : "023", "name" : "#023" }, { - "drilldown" : "024", + "name" : "#024", "y" : 70, - "name" : "#024" + "drilldown" : "024" }, { - "drilldown" : "025", "y" : 55, + "drilldown" : "025", "name" : "#025" }, { - "name" : "#026", "y" : 70, - "drilldown" : "026" + "drilldown" : "026", + "name" : "#026" }, { - "name" : "#027", + "drilldown" : "027", "y" : 58, - "drilldown" : "027" + "name" : "#027" }, { + "drilldown" : "028", "y" : 80, - "name" : "#028", - "drilldown" : "028" + "name" : "#028" }, { "name" : "#029", - "y" : 77, - "drilldown" : "029" + "drilldown" : "029", + "y" : 77 }, { "name" : "#030", - "y" : 117, - "drilldown" : "030" + "drilldown" : "030", + "y" : 117 }, { - "name" : "#031", + "drilldown" : "031", "y" : 89, - "drilldown" : "031" + "name" : "#031" }, { "drilldown" : "032", - "name" : "#032", - "y" : 94 + "y" : 94, + "name" : "#032" }, { "y" : 110, - "name" : "#033", - "drilldown" : "033" + "drilldown" : "033", + "name" : "#033" }, { - "drilldown" : "034", "name" : "#034", - "y" : 62 + "y" : 62, + "drilldown" : "034" }, { + "drilldown" : "035", "y" : 62, - "name" : "#035", - "drilldown" : "035" + "name" : "#035" }, { - "y" : 66, "name" : "#036", + "y" : 66, "drilldown" : "036" }, { - "y" : 67, "name" : "#037", - "drilldown" : "037" + "drilldown" : "037", + "y" : 67 }, { - "drilldown" : "038", "name" : "#038", + "drilldown" : "038", "y" : 65 }, { - "name" : "#039", "y" : 60, - "drilldown" : "039" + "drilldown" : "039", + "name" : "#039" }, { - "drilldown" : "040", + "name" : "#040", "y" : 73, - "name" : "#040" + "drilldown" : "040" }, { + "name" : "#041", "drilldown" : "041", - "y" : 76, - "name" : "#041" + "y" : 76 }, { - "drilldown" : "042", "name" : "#042", - "y" : 90 +