diff options
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", |
