diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-06-16 18:45:57 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-06-16 18:45:57 +0100 |
| commit | e722e3a2172e57f2a47f9153faa3a8874e997abe (patch) | |
| tree | b7396685ff37a2160bc72397abec07777226ee48 | |
| parent | ff88a3ac610b26e40ddd65839411ce257f3502b5 (diff) | |
| download | perlweeklychallenge-club-e722e3a2172e57f2a47f9153faa3a8874e997abe.tar.gz perlweeklychallenge-club-e722e3a2172e57f2a47f9153faa3a8874e997abe.tar.bz2 perlweeklychallenge-club-e722e3a2172e57f2a47f9153faa3a8874e997abe.zip | |
- Added solutions by Mark Senn.
| -rw-r--r-- | challenge-012/mark-senn/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-012/mark-senn/perl6/ch-1.p6 | 26 | ||||
| -rw-r--r-- | challenge-012/mark-senn/perl6/ch-2.p6 | 41 | ||||
| -rw-r--r-- | stats/pwc-current.json | 443 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 46 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 230 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 490 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 94 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 230 |
12 files changed, 937 insertions, 850 deletions
diff --git a/challenge-012/mark-senn/blog.txt b/challenge-012/mark-senn/blog.txt new file mode 100644 index 0000000000..054c6ac091 --- /dev/null +++ b/challenge-012/mark-senn/blog.txt @@ -0,0 +1 @@ +https://engineering.purdue.edu/~mark/pwc-012.pdf diff --git a/challenge-012/mark-senn/perl6/ch-1.p6 b/challenge-012/mark-senn/perl6/ch-1.p6 new file mode 100644 index 0000000000..1867bceb46 --- /dev/null +++ b/challenge-012/mark-senn/perl6/ch-1.p6 @@ -0,0 +1,26 @@ +# Perl Weekly Challenge - 012 +# Challenge #1 +# +# See +# engineering.purdue.edu/~mark/pwc-012.pdf +# for more information. + +# Run using Perl 6. +use v6; + +# Get prime numbers from 2 to 1,000. +# This doesn't read left-to-right +# my @prime = grep &is-prime, (2..1_000); +# as well as this does: +my @prime = (2..1_000).grep(&is-prime); + +for (^@prime.elems) -> $i +{ + # This could be optimized by keeping a running product of the + # first n primes and then just multiplying by the (n+1)st prime + # but + # Premature optimization is the root of all evil. + # ---Donald Ervin Knuth + my $e = ([*] @prime[0..$i]) + 1; + ($e.is-prime) or $e.say, last; +} diff --git a/challenge-012/mark-senn/perl6/ch-2.p6 b/challenge-012/mark-senn/perl6/ch-2.p6 new file mode 100644 index 0000000000..354f66ead9 --- /dev/null +++ b/challenge-012/mark-senn/perl6/ch-2.p6 @@ -0,0 +1,41 @@ +# Perl Weekly Challenge - 012 +# Challenge #2 +# +# See +# engineering.purdue.edu/~mark/pwc-012.pdf +# for more information. + +# Run using Perl 6. +use v6; + +# Define @path and $sep. +my Str @path = <</a/b/c/d /a/b/cd /a/b/cc /a/b/c/d/e>>; +my $sep = '/'; + +# Split @path into its separate parts and put +# the results in the two-dimensional @part array. +# 0 1 2 3 4 5 +# 0 a b c d +# 1 a b cd +# 2 a b cc +# 3 a b c d e +my @part; +for @path +{ + push @part, split(/$sep/, $_); +} + +# Compute index of last directory part of @part with fewest number of parts. +my $lastindex = @part.map({.elems}).min - 2; + +# Set $index to one past the last directory part that matched. +# Searh for unequal directory parts or ``fall out the bottom'' +# of the loop if all directory parts match for this $index. +my $index = 0; +while ($index <= $lastindex && [eq] @part[*;$index]) +{ + $index++; +} + +# Print the output. +say join '/', @part[0;^$index]; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 5c7e2f3e1f..efd0ec239c 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,178 +1,4 @@ { - "series" : [ - { - "name" : "Perl Weekly Challenge - 012", - "colorByPoint" : 1, - "data" : [ - { - "y" : 2, - "name" : "Aaron Sherman", - "drilldown" : "Aaron Sherman" - }, - { - "drilldown" : "Adam Russell", - "name" : "Adam Russell", - "y" : 3 - }, - { - "y" : 2, - "drilldown" : "Alicia Bielsa", - "name" : "Alicia Bielsa" - }, - { - "name" : "Andrezgz", - "drilldown" : "Andrezgz", - "y" : 2 - }, - { - "y" : 3, - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer" - }, - { - "drilldown" : "Athanasius", - "name" : "Athanasius", - "y" : 5 - }, - { - "y" : 2, - "drilldown" : "Daniel Mantovani", - "name" : "Daniel Mantovani" - }, - { - "y" : 4, - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby" - }, - { - "name" : "Duncan C. White", - "drilldown" : "Duncan C. White", - "y" : 2 - }, - { - "y" : 3, - "name" : "E. Choroba", - "drilldown" : "E. Choroba" - }, - { - "drilldown" : "Feng Chang", - "name" : "Feng Chang", - "y" : 4 - }, - { - "y" : 3, - "name" : "Francis Whittle", - "drilldown" : "Francis Whittle" - }, - { - "y" : 2, - "name" : "Gustavo Chaves", - "drilldown" : "Gustavo Chaves" - }, - { - "name" : "Jaime Corchado", - "drilldown" : "Jaime Corchado", - "y" : 2 - }, - { - "name" : "Jaldhar H. Vyas", - "drilldown" : "Jaldhar H. Vyas", - "y" : 4 - }, - { - "y" : 1, - "drilldown" : "Joe Tym", - "name" : "Joe Tym" - }, - { - "name" : "Joelle Maslak", - "drilldown" : "Joelle Maslak", - "y" : 7 - }, - { - "y" : 2, - "drilldown" : "Kevin Colyer", - "name" : "Kevin Colyer" - }, - { - "y" : 2, - "drilldown" : "Kian-Meng Ang", - "name" : "Kian-Meng Ang" - }, - { - "y" : 5, - "drilldown" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld" - }, - { - "y" : 1, - "name" : "Maxim Nechaev", - "drilldown" : "Maxim Nechaev" - }, - { - "drilldown" : "Ozzy", - "name" : "Ozzy", - "y" : 2 - }, - { - "name" : "Rakesh Kumar Shardiwal", - "drilldown" : "Rakesh Kumar Shardiwal", - "y" : 2 - }, - { - "y" : 4, - "name" : "Ruben Westerberg", - "drilldown" : "Ruben Westerberg" - }, - { - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 2 - }, - { - "y" : 3, - "name" : "Steven Wilson", - "drilldown" : "Steven Wilson" - }, - { - "y" : 3, - "drilldown" : "Yozen Hernandez", - "name" : "Yozen Hernandez" - } - ] - } - ], - "title" : { - "text" : "Perl Weekly Challenge - 012" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "tooltip" : { - "followPointer" : 1, - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" - }, - "legend" : { - "enabled" : 0 - }, - "subtitle" : { - "text" : "[Champions: 27] Last updated at 2019-06-16 17:20:26 GMT" - }, - "chart" : { - "type" : "column" - }, "drilldown" : { "series" : [ { @@ -186,6 +12,7 @@ ] }, { + "id" : "Adam Russell", "data" : [ [ "Perl 5", @@ -196,32 +23,30 @@ 1 ] ], - "id" : "Adam Russell", "name" : "Adam Russell" }, { + "name" : "Alicia Bielsa", "data" : [ [ "Perl 5", 2 ] ], - "id" : "Alicia Bielsa", - "name" : "Alicia Bielsa" + "id" : "Alicia Bielsa" }, { + "name" : "Andrezgz", "id" : "Andrezgz", "data" : [ [ "Perl 5", 2 ] - ], - "name" : "Andrezgz" + ] }, { "name" : "Arne Sommer", - "id" : "Arne Sommer", "data" : [ [ "Perl 6", @@ -231,10 +56,10 @@ "Blog", 1 ] - ] + ], + "id" : "Arne Sommer" }, { - "name" : "Athanasius", "data" : [ [ "Perl 5", @@ -245,20 +70,20 @@ 2 ] ], - "id" : "Athanasius" + "id" : "Athanasius", + "name" : "Athanasius" }, { - "id" : "Daniel Mantovani", + "name" : "Daniel Mantovani", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Daniel Mantovani" + "id" : "Daniel Mantovani" }, { - "id" : "Dave Jacoby", "data" : [ [ "Perl 5", @@ -269,19 +94,21 @@ 2 ] ], + "id" : "Dave Jacoby", "name" : "Dave Jacoby" }, { - "name" : "Duncan C. White", "id" : "Duncan C. White", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Duncan C. White" }, { + "name" : "E. Choroba", "id" : "E. Choroba", "data" : [ [ @@ -292,12 +119,9 @@ "Blog", 1 ] - ], - "name" : "E. Choroba" + ] }, { - "name" : "Feng Chang", - "id" : "Feng Chang", "data" : [ [ "Perl 5", @@ -307,27 +131,29 @@ "Perl 6", 2 ] - ] + ], + "id" : "Feng Chang", + "name" : "Feng Chang" }, { + "name" : "Francis Whittle", "id" : "Francis Whittle", "data" : [ [ "Perl 6", 3 ] - ], - "name" : "Francis Whittle" + ] }, { - "name" : "Gustavo Chaves", "data" : [ [ "Perl 5", 2 ] ], - "id" : "Gustavo Chaves" + "id" : "Gustavo Chaves", + "name" : "Gustavo Chaves" }, { "name" : "Jaime Corchado", @@ -340,7 +166,6 @@ ] }, { - "id" : "Jaldhar H. Vyas", "data" : [ [ "Perl 5", @@ -351,17 +176,18 @@ 2 ] ], + "id" : "Jaldhar H. Vyas", "name" : "Jaldhar H. Vyas" }, { - "name" : "Joe Tym", "id" : "Joe Tym", "data" : [ [ "Perl 5", 1 ] - ] + ], + "name" : "Joe Tym" }, { "data" : [ @@ -392,13 +218,13 @@ "name" : "Kevin Colyer" }, { - "id" : "Kian-Meng Ang", "data" : [ [ "Perl 5", 2 ] ], + "id" : "Kian-Meng Ang", "name" : "Kian-Meng Ang" }, { @@ -420,24 +246,38 @@ "name" : "Laurent Rosenfeld" }, { + "name" : "Mark Senn", "data" : [ [ - "Perl 5", + "Perl 6", + 2 + ], + [ + "Blog", 1 ] ], + "id" : "Mark Senn" + }, + { "id" : "Maxim Nechaev", + "data" : [ + [ + "Perl 5", + 1 + ] + ], "name" : "Maxim Nechaev" }, { - "name" : "Ozzy", "data" : [ [ "Perl 6", 2 ] ], - "id" : "Ozzy" + "id" : "Ozzy", + "name" : "Ozzy" }, { "name" : "Rakesh Kumar Shardiwal", @@ -451,6 +291,7 @@ }, { "name" : "Ruben Westerberg", + "id" : "Ruben Westerberg", "data" : [ [ "Perl 5", @@ -460,31 +301,30 @@ "Perl 6", 2 ] - ], - "id" : "Ruben Westerberg" + ] }, { + "name" : "Simon Proctor", + "id" : "Simon Proctor", "data" : [ [ "Perl 6", 2 ] - ], - "id" : "Simon Proctor", - "name" : "Simon Proctor" + ] }, { - "id" : "Steven Wilson", "data" : [ [ "Perl 5", 3 ] ], + "id" : "Steven Wilson", "name" : "Steven Wilson" }, { - "name" : "Yozen Hernandez", + "id" : "Yozen Hernandez", "data" : [ [ "Perl 5", @@ -495,11 +335,190 @@ 1 ] ], - "id" : "Yozen Hernandez" + "name" : "Yozen Hernandez" } ] }, + "tooltip" : { + "followPointer" : 1, + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" + }, + "chart" : { + "type" : "column" + }, + "legend" : { + "enabled" : 0 + }, + "subtitle" : { + "text" : "[Champions: 28] Last updated at 2019-06-16 17:45:04 GMT" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, "xAxis" : { "type" : "category" + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "name" : "Aaron Sherman", + "y" : 2, + "drilldown" : "Aaron Sherman" + }, + { + "drilldown" : "Adam Russell", + "y" : 3, + "name" : "Adam Russell" + }, + { + "drilldown" : "Alicia Bielsa", + "name" : "Alicia Bielsa", + "y" : 2 + }, + { + "drilldown" : "Andrezgz", + "y" : 2, + "name" : "Andrezgz" + }, + { + "y" : 3, + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer" + }, + { + "y" : 5, + "name" : "Athanasius", + "drilldown" : "Athanasius" + }, + { + "drilldown" : "Daniel Mantovani", + "name" : "Daniel Mantovani", + "y" : 2 + }, + { + "y" : 4, + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby" + }, + { + "y" : 2, + "name" : "Duncan C. White", + "drilldown" : "Duncan C. White" + }, + { + "y" : 3, + "name" : "E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "drilldown" : "Feng Chang", + "y" : 4, + "name" : "Feng Chang" + }, + { + "y" : 3, + "name" : "Francis Whittle", + "drilldown" : "Francis Whittle" + }, + { + "drilldown" : "Gustavo Chaves", + "y" : 2, + "name" : "Gustavo Chaves" + }, + { + "name" : "Jaime Corchado", + "y" : 2, + "drilldown" : "Jaime Corchado" + }, + { + "y" : 4, + "name" : "Jaldhar H. Vyas", + "drilldown" : "Jaldhar H. Vyas" + }, + { + "y" : 1, + "name" : "Joe Tym", + "drilldown" : "Joe Tym" + }, + { + "name" : "Joelle Maslak", + "y" : 7, + "drilldown" : "Joelle Maslak" + }, + { + "name" : "Kevin Colyer", + "y" : 2, + "drilldown" : "Kevin Colyer" + }, + { + "y" : 2, + "name" : "Kian-Meng Ang", + "drilldown" : "Kian-Meng Ang" + }, + { + "drilldown" : "Laurent Rosenfeld", + "y" : 5, + "name" : "Laurent Rosenfeld" + }, + { + "y" : 3, + "name" : "Mark Senn", + "drilldown" : "Mark Senn" + }, + { + "drilldown" : "Maxim Nechaev", + "y" : 1, + "name" : "Maxim Nechaev" + }, + { + "drilldown" : "Ozzy", + "y" : 2, + "name" : "Ozzy" + }, + { + "drilldown" : "Rakesh Kumar Shardiwal", + "y" : 2, + "name" : "Rakesh Kumar Shardiwal" + }, + { + "y" : 4, + "name" : "Ruben Westerberg", + "drilldown" : "Ruben Westerberg" + }, + { + "name" : "Simon Proctor", + "y" : 2, + "drilldown" : "Simon Proctor" + }, + { + "drilldown" : "Steven Wilson", + "name" : "Steven Wilson", + "y" : 3 + }, + { + "drilldown" : "Yozen Hernandez", + "y" : 3, + "name" : "Yozen Hernandez" + } + ], + "name" : "Perl Weekly Challenge - 012" + } + ], + "title" : { + "text" : "Perl Weekly Challenge - 012" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index e521b93849..ebd1422ef7 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,22 +1,26 @@ { - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Last updated at 2019-06-16 17:20:38 GMT" - }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, - "legend" : { - "enabled" : "false" + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "subtitle" : { + "text" : "Last updated at 2019-06-16 17:45:16 GMT" + }, + "chart" : { + "type" : "column" }, "series" : [ { + "name" : "Contributions", "data" : [ [ "Blog", - 106 + 107 ], [ "Perl 5", @@ -24,29 +28,25 @@ ], [ "Perl 6", - 287 + 289 ] ], - "name" : "Contributions", "dataLabels" : { - "rotation" : -90, "y" : 10, + "rotation" : -90, "color" : "#FFFFFF", + "enabled" : "true", + "format" : "{point.y:.0f}", + "align" : "right", "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" - }, - "enabled" : "true", - "format" : "{point.y:.0f}", - "align" : "right" + } } } ], - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } + "title" : { + "text" : "Perl Weekly Challenge Contributions - 2019" }, "xAxis" : { "labels" : { @@ -57,7 +57,7 @@ }, "type" : "category" }, - "title" : { - "text" : "Perl Weekly Challenge Contributions - 2019" + "legend" : { + "enabled" : "false" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 63cd58ac04..1296684703 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,110 +1,40 @@ { + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "tooltip" : { + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : "true", + "headerFormat" : "<span style=\"font-size:11px\"></span>" + }, "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { "enabled" : 1, "format" : "{point.y}" - }, - "borderWidth" : 0 + } } }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", - "headerFormat" : "<span style=\"font-size:11px\"></span>", - "followPointer" : "true" - }, "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-06-16 17:20:38 GMT" - }, - "legend" : { - "enabled" : "false" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-06-16 17:45:16 GMT" }, - "series" : [ - { - "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true", - "data" : [ - { - "name" : "#001", - "y" : 123, - "drilldown" : "001" - }, - { - "name" : "#002", - "drilldown" : "002", - "y" : 104 - }, - { - "drilldown" : "003", - "y" : 66, - "name" : "#003" - }, - { - "name" : "#004", - "y" : 84, - "drilldown" : "004" - }, - { - "name" : "#005", - "y" : 66, - "drilldown" : "005" - }, - { - "name" : "#006", - "y" : 47, - "drilldown" : "006" - }, - { - "drilldown" : "007", - "y" : 54, - "name" : "#007" - }, - { - "name" : "#008", - "drilldown" : "008", - "y" : 67 - }, - { - "name" : "#009", - "drilldown" : "009", - "y" : 62 - }, - { - "drilldown" : "010", - "y" : 58, - "name" : "#010" - }, - { - "name" : "#011", - "y" : 75, - "drilldown" : "011" - }, - { - "y" : 77, - "drilldown" : "012", - "name" : "#012" - } - ] - } - ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "title" : { + "text" : "Perl Weekly Challenge Language" }, "xAxis" : { "type" : "category" }, - "title" : { - "text" : "Perl Weekly Challenge Language" + "chart" : { + "type" : "column" }, "drilldown" : { "series" : [ { "id" : "001", + "name" : "001", "data" : [ [ "Perl 5", @@ -118,12 +48,10 @@ "Blog", 10 ] - ], - "name" : "001" + ] }, { "name" : "002", - "id" : "002", "data" : [ [ "Perl 5", @@ -137,11 +65,10 @@ "Blog", 9 ] - ] + ], + "id" : "002" }, { - "name" : "003", - "id" : "003", "data" : [ [ "Perl 5", @@ -155,10 +82,11 @@ "Blog", 8 ] - ] + ], + "name" : "003", + "id" : "003" }, { - "id" : "004", "data" : [ [ "Perl 5", @@ -173,11 +101,11 @@ 9 ] ], - "name" : "004" + "name" : "004", + "id" : "004" }, { "name" : "005", - "id" : "005", "data" : [ [ "Perl 5", @@ -191,9 +119,11 @@ "Blog", 11 ] - ] + ], + "id" : "005" }, { + "id" : "006", "data" : [ [ "Perl 5", @@ -208,12 +138,9 @@ 6 ] ], - "id" : "006", "name" : "006" }, { - "name" : "007", - "id" : "007", "data" : [ [ "Perl 5", @@ -227,11 +154,11 @@ "Blog", 8 ] - ] + ], + "name" : "007", + "id" : "007" }, { - "name" : "008", - "id" : "008", "data" : [ [ "Perl 5", @@ -245,10 +172,11 @@ "Blog", 9 ] - ] + ], + "name" : "008", + "id" : "008" }, { - "name" : "009", "id" : "009", "data" : [ [ @@ -263,9 +191,11 @@ "Blog", 11 ] - ] + ], + "name" : "009" }, { + "name" : "010", "data" : [ [ "Perl 5", @@ -280,11 +210,10 @@ 9 ] ], - "id" : "010", - "name" : "010" + "id" : "010" }, { - "id" : "011", + "name" : "011", "data" : [ [ "Perl 5", @@ -299,9 +228,10 @@ 8 ] ], - "name" : "011" + "id" : "011" }, { + "id" : "012", |
