aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-008/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-008/laurent-rosenfeld/perl5/ch-1.pl23
-rw-r--r--challenge-008/laurent-rosenfeld/perl5/ch-1a.pl25
-rw-r--r--challenge-008/laurent-rosenfeld/perl5/ch-1b.pl54
-rw-r--r--challenge-008/laurent-rosenfeld/perl5/ch-2.pl16
-rw-r--r--challenge-008/laurent-rosenfeld/perl5/ch-2a.pl13
-rw-r--r--challenge-008/laurent-rosenfeld/perl6/ch-1.p610
-rw-r--r--challenge-008/laurent-rosenfeld/perl6/ch-1a.p68
-rw-r--r--challenge-008/laurent-rosenfeld/perl6/ch-1b.p613
-rw-r--r--challenge-008/laurent-rosenfeld/perl6/ch-1c.p614
-rw-r--r--challenge-008/laurent-rosenfeld/perl6/ch-1d.p612
-rw-r--r--challenge-008/laurent-rosenfeld/perl6/ch-1e.p69
-rw-r--r--challenge-008/laurent-rosenfeld/perl6/ch-1f.p67
-rw-r--r--challenge-008/laurent-rosenfeld/perl6/ch-2.p69
-rw-r--r--challenge-008/laurent-rosenfeld/perl6/ch-2a.p68
-rw-r--r--stats/pwc-current.json185
-rw-r--r--stats/pwc-language-breakdown.json178
-rw-r--r--stats/pwc-leaders.json856
-rw-r--r--stats/pwc-summary-1-30.json44
-rw-r--r--stats/pwc-summary-31-60.json50
-rw-r--r--stats/pwc-summary-61-90.json88
-rw-r--r--stats/pwc-summary.json226
22 files changed, 1045 insertions, 804 deletions
diff --git a/challenge-008/laurent-rosenfeld/blog.txt b/challenge-008/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..0d4ecd2602
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/laurent_r/2019/05/perl-weekly-challenge-8-perfect-numbers-and-centered-output.html
diff --git a/challenge-008/laurent-rosenfeld/perl5/ch-1.pl b/challenge-008/laurent-rosenfeld/perl5/ch-1.pl
new file mode 100644
index 0000000000..cc2b1c16af
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl5/ch-1.pl
@@ -0,0 +1,23 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature "say";
+
+sub divisors {
+ my $num = shift;
+ my $limit = 1 + int $num / 2;
+ my @divisors = (1);
+ for my $test_div (2..$limit) {
+ push @divisors, $test_div if $num % $test_div == 0;
+ }
+ return @divisors;
+}
+
+for my $num (2..10000) {
+ my $sum_div = 0;
+ my @divisors = divisors $num;
+ for my $div (@divisors) {
+ $sum_div += $div;
+ }
+ say " $num : @divisors" if $sum_div == $num ;
+}
diff --git a/challenge-008/laurent-rosenfeld/perl5/ch-1a.pl b/challenge-008/laurent-rosenfeld/perl5/ch-1a.pl
new file mode 100644
index 0000000000..716344a054
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl5/ch-1a.pl
@@ -0,0 +1,25 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature "say";
+
+sub divisors {
+ my $num = shift;
+ my $limit = 1 + int $num / 2;
+ my @divisors = (1);
+ for my $test_div (2..$limit) {
+ push @divisors, $test_div if $num % $test_div == 0;
+ }
+ return @divisors;
+}
+
+my $triangular_num = 1;
+for my $num (2..10000) {
+ $triangular_num += $num;
+ my $sum_div = 0;
+ my @divisors = divisors $triangular_num;
+ for my $div (@divisors) {
+ $sum_div += $div;
+ }
+ say " $triangular_num : @divisors" if $sum_div == $triangular_num;
+}
diff --git a/challenge-008/laurent-rosenfeld/perl5/ch-1b.pl b/challenge-008/laurent-rosenfeld/perl5/ch-1b.pl
new file mode 100644
index 0000000000..2c335ad6cd
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl5/ch-1b.pl
@@ -0,0 +1,54 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature "say";
+use constant largest_num => 100000;
+
+sub find_primes {
+ my $num = 5;
+ my @primes = (2, 3, 5);
+ while (1) {
+ $num += 2; # check only odd numbers
+ last if $num > largest_num;
+ my $limit = int $num ** 0.5;
+ my $num_is_prime = 1;
+ for my $prime (@primes) {
+ last if $prime > $limit;
+ if ($num % $prime == 0) {
+ # $num evenly divided by $prime, exit the for loop
+ $num_is_prime = 0;
+ last;
+ }
+ }
+ push @primes, $num if $num_is_prime; # Found a new prime, add it to the array of primes
+ }
+ return @primes;
+}
+
+my @prime_numbers = find_primes;
+# print "@prime_numbers \n";
+
+sub is_prime {
+ my $num = shift;
+ my $limit = 1 + int $num ** 0.5;
+ for my $p (@prime_numbers) {
+ return 1 if $p > $limit;
+ return 0 if $num % $p == 0;
+ }
+ warn "Something got wrong (primes list too small)\n";
+ return 0; # If we've reach this point, then our list of primes is
+ # too small, we don't now if the argument is prime, return
+ # a false value to be on the safe side of things
+}
+
+my @perfect_nums;
+for my $prime (@prime_numbers) {
+ my $mersenne = 2 ** $prime - 1;
+ if (is_prime $mersenne) {
+ say "$prime $mersenne ", $mersenne * (2 ** ($prime - 1) );
+ push @perfect_nums, $mersenne * (2 ** ($prime - 1) );
+ last if scalar @perfect_nums >= 8;
+ }
+}
+
+say "Perfect numbers: @perfect_nums";
diff --git a/challenge-008/laurent-rosenfeld/perl5/ch-2.pl b/challenge-008/laurent-rosenfeld/perl5/ch-2.pl
new file mode 100644
index 0000000000..7c4ca8fe87
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl5/ch-2.pl
@@ -0,0 +1,16 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature qw / say /;
+
+sub center {
+ my $max_size = 0;
+ for my $str (@_) {
+ my $length = length $str;
+ $max_size = $length if $length > $max_size;
+ }
+ map { " " x (int ($max_size - length) / 2) . $_} @_;
+}
+
+my @strings = ("This", "is", "a test of the", "center function");
+say for center @strings;
diff --git a/challenge-008/laurent-rosenfeld/perl5/ch-2a.pl b/challenge-008/laurent-rosenfeld/perl5/ch-2a.pl
new file mode 100644
index 0000000000..482619dfcc
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl5/ch-2a.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature qw / say /;
+use List::Util qw / max /;
+
+sub center {
+ my $max_size = max map length, @_;
+ map { " " x (int ($max_size - length) / 2) . $_} @_;
+}
+
+my @strings = ("This", "is", "a test of the", "center function");
+say for center @strings;
diff --git a/challenge-008/laurent-rosenfeld/perl6/ch-1.p6 b/challenge-008/laurent-rosenfeld/perl6/ch-1.p6
new file mode 100644
index 0000000000..e3fb08c165
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl6/ch-1.p6
@@ -0,0 +1,10 @@
+use v6;
+
+sub divisors (Int $num) {
+ return 1, | grep { $num %% $_ }, 2 .. (1 + ($num / 2).Int);
+}
+
+for 2..10000 -> $num {
+ my @divisors = divisors $num;
+ say "$num: ", @divisors if $num == [+] @divisors;
+}
diff --git a/challenge-008/laurent-rosenfeld/perl6/ch-1a.p6 b/challenge-008/laurent-rosenfeld/perl6/ch-1a.p6
new file mode 100644
index 0000000000..b0459fe209
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl6/ch-1a.p6
@@ -0,0 +1,8 @@
+use v6;
+
+for 2..10000 -> $num {
+ my @divisors = 1, | grep { $num %% $_ }, 2 .. (1 + ($num / 2).Int);
+ say "$num: ", @divisors if $num == [+] @divisors;
+}
+
+
diff --git a/challenge-008/laurent-rosenfeld/perl6/ch-1b.p6 b/challenge-008/laurent-rosenfeld/perl6/ch-1b.p6
new file mode 100644
index 0000000000..0f90617aa7
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl6/ch-1b.p6
@@ -0,0 +1,13 @@
+use v6;
+
+sub divisors (Int $num) {
+ return 1, | grep { $num %% $_ }, 2 .. (1 + ($num / 2).Int);
+}
+my $triangular-num = 1;
+for 2..200 -> $num {
+ $triangular-num += $num;
+ my $sum-div = [+] divisors $triangular-num;
+ say " $triangular-num : @divisors[]" if $sum-div == $triangular-num;
+ last if $triangular-num > 10000;
+}
+say now - INIT now;
diff --git a/challenge-008/laurent-rosenfeld/perl6/ch-1c.p6 b/challenge-008/laurent-rosenfeld/perl6/ch-1c.p6
new file mode 100644
index 0000000000..2a40ac3af0
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl6/ch-1c.p6
@@ -0,0 +1,14 @@
+use v6;
+
+sub divisors (Int $num) {
+ return 1, | grep { $num %% $_ }, 2 .. (1 + ($num / 2).Int);
+}
+my $triangular-num = 1;
+my @nums = 2 ... *; # Infinite sequence
+for @nums -> $num {
+ $triangular-num += $num;
+ my $sum-div = [+] divisors $triangular-num;
+ say $triangular-num if $sum-div == $triangular-num;
+ last if $triangular-num > 10000;
+}
+say now - INIT now;
diff --git a/challenge-008/laurent-rosenfeld/perl6/ch-1d.p6 b/challenge-008/laurent-rosenfeld/perl6/ch-1d.p6
new file mode 100644
index 0000000000..99c748974c
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl6/ch-1d.p6
@@ -0,0 +1,12 @@
+use v6;
+
+sub divisors (Int $num) {
+ return 1, | grep { $num %% $_ }, 2 .. (1 + ($num / 2).Int);
+}
+my $num = 1;
+my @triangular-numbers = 1, * + ++$num ... *;
+for @triangular-numbers -> $triangular-num {
+ last if $triangular-num > 10000;
+ say $triangular-num if $triangular-num == [+] divisors $triangular-num;
+}
+say now - INIT now;
diff --git a/challenge-008/laurent-rosenfeld/perl6/ch-1e.p6 b/challenge-008/laurent-rosenfeld/perl6/ch-1e.p6
new file mode 100644
index 0000000000..6a4ac6694e
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl6/ch-1e.p6
@@ -0,0 +1,9 @@
+use v6;
+
+sub divisors (Int $num) {
+ return 1, | grep { $num %% $_ }, 2 .. (1 + ($num / 2).Int);
+}
+my $num = 1;
+my @triangular-numbers = 1, * + ++$num ...^ * > 10000 ;
+.say if $_ == [+] divisors $_ for @triangular-numbers;
+say now - INIT now;
diff --git a/challenge-008/laurent-rosenfeld/perl6/ch-1f.p6 b/challenge-008/laurent-rosenfeld/perl6/ch-1f.p6
new file mode 100644
index 0000000000..b7dd73d94b
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl6/ch-1f.p6
@@ -0,0 +1,7 @@
+use v6;
+
+for grep { is-prime $_ }, 0..300 -> $prime {
+ my $mersenne = 2 ** $prime - 1;
+ say $mersenne * 2 ** ($prime - 1) if is-prime $mersenne;
+}
+say "time taken ", now - INIT now;
diff --git a/challenge-008/laurent-rosenfeld/perl6/ch-2.p6 b/challenge-008/laurent-rosenfeld/perl6/ch-2.p6
new file mode 100644
index 0000000000..cc0b1cc2c3
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl6/ch-2.p6
@@ -0,0 +1,9 @@
+use v6;
+
+sub center (@str) {
+ my $max-size = max map { .chars }, @str;
+ return map { " " x (($max-size - .chars) / 2).Int ~ $_}, @str;
+}
+
+my @strings = "This", "is", "a test of the", "center function";
+.say for center @strings;
diff --git a/challenge-008/laurent-rosenfeld/perl6/ch-2a.p6 b/challenge-008/laurent-rosenfeld/perl6/ch-2a.p6
new file mode 100644
index 0000000000..9927761daf
--- /dev/null
+++ b/challenge-008/laurent-rosenfeld/perl6/ch-2a.p6
@@ -0,0 +1,8 @@
+use v6;
+sub center (@str) {
+ my $max-size = @str.map({.chars}).max;
+ @str.map({" " x (($max-size - .chars) / 2).Int ~ $_})
+}
+
+my @strings = "This", "is", "a test of the", "center function";
+.say for center @strings;
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 5a82f5c3a4..77c69b127c 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,55 +1,51 @@
{
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
- }
- },
"series" : [
{
"data" : [
{
- "y" : 2,
"drilldown" : "Andrezgz",
- "name" : "Andrezgz"
+ "name" : "Andrezgz",
+ "y" : 2
},
{
- "y" : 2,
"drilldown" : "Arne Sommer",
- "name" : "Arne Sommer"
+ "name" : "Arne Sommer",
+ "y" : 2
},
{
- "drilldown" : "Athanasius",
"y" : 2,
- "name" : "Athanasius"
+ "name" : "Athanasius",
+ "drilldown" : "Athanasius"
},
{
- "drilldown" : "Dave Jacoby",
+ "name" : "Dave Jacoby",
"y" : 2,
- "name" : "Dave Jacoby"
+ "drilldown" : "Dave Jacoby"
},
{
- "name" : "Dr James A. Smith",
"drilldown" : "Dr James A. Smith",
+ "name" : "Dr James A. Smith",
"y" : 4
},
{
- "y" : 2,
"drilldown" : "Francis Whittle",
+ "y" : 2,
"name" : "Francis Whittle"
},
{
"drilldown" : "Gustavo Chaves",
- "y" : 2,
- "name" : "Gustavo Chaves"
+ "name" : "Gustavo Chaves",
+ "y" : 2
},
{
+ "drilldown" : "Joelle Maslak",
"name" : "Joelle Maslak",
- "y" : 6,
- "drilldown" : "Joelle Maslak"
+ "y" : 6
+ },
+ {
+ "name" : "Laurent Rosenfeld",
+ "y" : 4,
+ "drilldown" : "Laurent Rosenfeld"
},
{
"drilldown" : "Luis F. Uceta",
@@ -57,40 +53,71 @@
"name" : "Luis F. Uceta"
},
{
+ "name" : "Maxim Nechaev",
"y" : 2,
- "drilldown" : "Maxim Nechaev",
- "name" : "Maxim Nechaev"
+ "drilldown" : "Maxim Nechaev"
},
{
- "name" : "Neil Bowers",
"drilldown" : "Neil Bowers",
- "y" : 1
+ "y" : 1,
+ "name" : "Neil Bowers"
},
{
"name" : "Ozzy",
- "drilldown" : "Ozzy",
- "y" : 1
+ "y" : 1,
+ "drilldown" : "Ozzy"
},
{
- "y" : 4,
"drilldown" : "Ruben Westerberg",
- "name" : "Ruben Westerberg"
+ "name" : "Ruben Westerberg",
+ "y" : 4
},
{
+ "name" : "Simon Proctor",
"y" : 2,
- "drilldown" : "Simon Proctor",
- "name" : "Simon Proctor"
+ "drilldown" : "Simon Proctor"
},
{
- "name" : "Yozen Hernandez",
+ "drilldown" : "Yozen Hernandez",
"y" : 2,
- "drilldown" : "Yozen Hernandez"
+ "name" : "Yozen Hernandez"
}
],
- "name" : "Champions",
- "colorByPoint" : 1
+ "colorByPoint" : 1,
+ "name" : "Champions"
}
],
+ "legend" : {
+ "enabled" : 0
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 008"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
+ }
+ },
+ "subtitle" : {
+ "text" : "[Champions: 16] Last updated at 2019-05-18 17:39:53 GMT"
+ },
+ "tooltip" : {
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
+ "followPointer" : 1,
+ "pointerFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
+ },
"drilldown" : {
"series" : [
{
@@ -115,27 +142,25 @@
},
{
"id" : "Athanasius",
- "name" : "Athanasius",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "name" : "Athanasius"
},
{
+ "name" : "Dave Jacoby",
+ "id" : "Dave Jacoby",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Dave Jacoby",
- "name" : "Dave Jacoby"
+ ]
},
{
- "id" : "Dr James A. Smith",
- "name" : "Dr James A. Smith",
"data" : [
[
"Perl 5",
@@ -145,27 +170,29 @@
"Perl 6",
2
]
- ]
+ ],
+ "id" : "Dr James A. Smith",
+ "name" : "Dr James A. Smith"
},
{
"name" : "Francis Whittle",
- "id" : "Francis Whittle",
"data" : [
[
"Perl 6",
2
]
- ]
+ ],
+ "id" : "Francis Whittle"
},
{
"id" : "Gustavo Chaves",
- "name" : "Gustavo Chaves",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "name" : "Gustavo Chaves"
},
{
"data" : [
@@ -178,27 +205,41 @@
3
]
],
- "name" : "Joelle Maslak",
- "id" : "Joelle Maslak"
+ "id" : "Joelle Maslak",
+ "name" : "Joelle Maslak"
},
{
+ "id" : "Laurent Rosenfeld",
"data" : [
[
+ "Perl 5",
+ 2
+ ],
+ [
"Perl 6",
2
]
],
- "name" : "Luis F. Uceta",
- "id" : "Luis F. Uceta"
+ "name" : "Laurent Rosenfeld"
},
{
"data" : [
[
- "Perl 5",
+ "Perl 6",
2
]
],
+ "id" : "Luis F. Uceta",
+ "name" : "Luis F. Uceta"
+ },
+ {
"name" : "Maxim Nechaev",
+ "data" : [
+ [
+ "Perl 5",
+ 2
+ ]
+ ],
"id" : "Maxim Nechaev"
},
{
@@ -213,15 +254,16 @@
},
{
"name" : "Ozzy",
- "id" : "Ozzy",
"data" : [
[
"Perl 6",
1
]
- ]
+ ],
+ "id" : "Ozzy"
},
{
+ "id" : "Ruben Westerberg",
"data" : [
[
"Perl 5",
@@ -232,53 +274,30 @@
2
]
],
- "id" : "Ruben Westerberg",
"name" : "Ruben Westerberg"
},
{
+ "name" : "Simon Proctor",
"data" : [
[
"Perl 6",
2
]
],
- "name" : "Simon Proctor",
"id" : "Simon Proctor"
},
{
+ "name" : "Yozen Hernandez",
+ "id" : "Yozen Hernandez",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Yozen Hernandez",
- "name" : "Yozen Hernandez"
+ ]
}
]
},
- "legend" : {
- "enabled" : 0
- },
- "tooltip" : {
- "pointerFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
- "followPointer" : 1,
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "subtitle" : {
- "text" : "[Champions: 15] Last updated at 2019-05-18 09:03:02 GMT"
- },
- "xAxis" : {
- "type" : "category"
- },
- "title" : {
- "text" : "Perl Weekly Challenge - 008"
- },
"chart" : {
"type" : "column"
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index f922c4626b..ecc15f2aba 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,86 +1,23 @@
{
+ "legend" : {
+ "enabled" : "false"
+ },
"title" : {
"text" : "Perl Weekly Challenge Language"
},
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
- }
- },
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-05-18 09:03:32 GMT"
- },
- "series" : [
- {
- "colorByPoint" : "true",
- "name" : "Perl Weekly Challenge Languages",
- "data" : [
- {
- "name" : "#001 [P5=76 P6=37]",
- "y" : 113,
- "drilldown" : "001"
- },
- {
- "name" : "#002 [P5=63 P6=32]",
- "y" : 95,
- "drilldown" : "002"
- },
- {
- "name" : "#003 [P5=32 P6=26]",
- "drilldown" : "003",
- "y" : 58
- },
- {
- "name" : "#004 [P5=46 P6=29]",
- "drilldown" : "004",
- "y" : 75
- },
- {
- "name" : "#005 [P5=33 P6=22]",
- "drilldown" : "005",
- "y" : 55
- },
- {
- "name" : "#006 [P5=27 P6=14]",
- "drilldown" : "006",
- "y" : 41
- },
- {
- "name" : "#007 [P5=23 P6=19]",
- "drilldown" : "007",
- "y" : 42
- },
- {
- "name" : "#008 [P5=20 P6=16]",
- "y" : 36,
- "drilldown" : "008"
- }
- ]
- }
- ],
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "chart" : {
- "type" : "column"
- },
"tooltip" : {
+ "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>",
"headerFormat" : "<span style=\"font-size:11px\"></span>",
- "followPointer" : "true",
- "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>"
+ "followPointer" : "true"
},
- "legend" : {
- "enabled" : "false"
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-05-18 17:40:23 GMT"
},
"drilldown" : {
"series" : [
{
+ "name" : "001",
+ "id" : "001",
"data" : [
[
"Perl 5",
@@ -90,11 +27,10 @@
"Perl 6",
37
]
- ],
- "name" : "001",
- "id" : "001"
+ ]
},
{
+ "id" : "002",
"data" : [
[
"Perl 5",
@@ -105,11 +41,11 @@
32
]
],
- "id" : "002",
"name" : "002"
},
{
"name" : "003",
+ "id" : "003",
"data" : [
[
"Perl 5",
@@ -119,10 +55,10 @@
"Perl 6",
26
]
- ],
- "id" : "003"
+ ]
},
{
+ "id" : "004",
"data" : [
[
"Perl 5",
@@ -133,10 +69,10 @@
29
]
],
- "name" : "004",
- "id" : "004"
+ "name" : "004"
},
{
+ "name" : "005",
"data" : [
[
"Perl 5",
@@ -147,10 +83,10 @@
22
]
],
- "name" : "005",
"id" : "005"
},
{
+ "name" : "006",
"data" : [
[
"Perl 5",
@@ -161,11 +97,11 @@
14
]
],
- "id" : "006",
- "name" : "006"
+ "id" : "006"
},
{
"name" : "007",
+ "id" : "007",
"data" : [
[
"Perl 5",
@@ -175,26 +111,90 @@
"Perl 6",
19
]
- ],
- "id" : "007"
+ ]
},
{
- "name" : "008",
"data" : [
[
"Perl 5",
- 20
+ 22
],
[
"Perl 6",
- 16
+ 18
]
],
- "id" : "008"
+ "id" : "008",
+ "name" : "008"
}
]
},
"xAxis" : {
"type" : "category"
+ },
+ "series" : [
+ {
+ "data" : [
+ {
+ "drilldown" : "001",
+ "y" : 113,
+ "name" : "#001 [P5=76 P6=37]"
+ },
+ {
+ "y" : 95,
+ "drilldown" : "002",
+ "name" : "#002 [P5=63 P6=32]"
+ },
+ {
+ "name" : "#003 [P5=32 P6=26]",
+ "drilldown" : "003",
+ "y" : 58
+ },
+ {
+ "name" : "#004 [P5=46 P6=29]",
+ "drilldown" : "004",
+ "y" : 75
+ },
+ {
+ "drilldown" : "005",
+ "y" : 55,
+ "name" : "#005 [P5=33 P6=22]"
+ },
+ {
+ "name" : "#006 [P5=27 P6=14]",
+ "y" : 41,
+ "drilldown" : "006"
+ },
+ {
+ "drilldown" : "007",
+ "y" : 42,
+ "name" : "#007 [P5=23 P6=19]"
+ },
+ {
+ "name" : "#008 [P5=22 P6=18]",
+ "drilldown" : "008",
+ "y" : 40
+ }
+ ],
+ "colorByPoint" : "true",
+ "name" : "Perl Weekly Challenge Languages"
+ }
+ ],
+ "chart" : {
+ "type" : "column"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ },
+ "borderWidth" : 0
+ }
}
}
diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json
index 89f5b29b52..ae8e32f960 100644
--- a/stats/pwc-leaders.json
+++ b/stats/pwc-leaders.json
@@ -1,52 +1,332 @@
{
+ "title" : {
+ "text" : "Perl Weekly Challenge Leaders (TOP 50)"
+ },
+ "series" : [
+ {
+ "colorByPoint" : "true",
+ "data" : [
+ {
+ "y" : 80,
+ "drilldown" : "Laurent Rosenfeld",
+ "name" : "#1: Laurent Rosenfeld"
+ },
+ {
+ "name" : "#2: Joelle Maslak",
+ "drilldown" : "Joelle Maslak",
+ "y" : 70
+ },
+ {
+ "name" : "#3: Ruben Westerberg",
+ "y" : 56,
+ "drilldown" : "Ruben Westerberg"
+ },
+ {
+ "name" : "#4: Jaldhar H. Vyas",
+ "y" : 52,
+ "drilldown" : "Jaldhar H. Vyas"
+ },
+ {
+ "name" : "#5: Simon Proctor",
+ "drilldown" : "Simon Proctor",
+ "y" : 48
+ },
+ {
+ "name" : "#6: Dr James A. Smith",
+ "drilldown" : "Dr James A. Smith",
+ "y" : 44
+ },
+ {
+ "y" : 42,
+ "drilldown" : "Adam Russell",
+ "name" : "#7: Adam Russell"
+ },
+ {
+ "name" : "#8: Arne Sommer",
+ "drilldown" : "Arne Sommer",