diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-02-05 17:42:56 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-02-05 17:42:56 +0000 |
| commit | 0ccea246f88a65ee520d427af8b3ca34e7db5153 (patch) | |
| tree | b94bbdbc6f9734e718cf3ad910a272c0981c2052 | |
| parent | 8751ab807ccb19f3d0acdeb0700bca6e5c99db34 (diff) | |
| download | perlweeklychallenge-club-0ccea246f88a65ee520d427af8b3ca34e7db5153.tar.gz perlweeklychallenge-club-0ccea246f88a65ee520d427af8b3ca34e7db5153.tar.bz2 perlweeklychallenge-club-0ccea246f88a65ee520d427af8b3ca34e7db5153.zip | |
- Added solutions by Pete Houston.
| -rwxr-xr-x | challenge-150/pete-houston/awk/ch-1.awk | 38 | ||||
| -rwxr-xr-x | challenge-150/pete-houston/perl/ch-1.pl | 33 | ||||
| -rwxr-xr-x | challenge-150/pete-houston/perl/ch-2.pl | 24 | ||||
| -rw-r--r-- | stats/pwc-current.json | 399 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 68 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 2094 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 392 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 32 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 126 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 554 |
17 files changed, 2081 insertions, 1971 deletions
diff --git a/challenge-150/pete-houston/awk/ch-1.awk b/challenge-150/pete-houston/awk/ch-1.awk new file mode 100755 index 0000000000..7d755faa6b --- /dev/null +++ b/challenge-150/pete-houston/awk/ch-1.awk @@ -0,0 +1,38 @@ +#!/usr/bin/gawk -f
+#===============================================================================
+#
+# FILE: 15001.awk
+#
+# USAGE: echo A B | ./15001.awk
+#
+# DESCRIPTION: Output "Fibonacci strings" starting with A and B
+# and the 51st char of the first string to have that many
+#
+# AUTHOR: Pete Houston (pete), cpan@openstrike.co.uk
+# ORGANIZATION: Openstrike
+# VERSION: 1.0
+# CREATED: 31/01/22
+#===============================================================================
+
+BEGIN {
+ offset = 51;
+}
+{
+ a = $1
+ b = $2
+ if (length (a) != length (b)) {
+ print a " and " b " have different lengths. Skipping."
+ next;
+ }
+ c = ""
+ while (offset > length (c)) {
+ c = a b
+ a = b
+ b = c
+ print c
+ }
+
+ printf "Char at position %i is %s\n",
+ offset,
+ substr (c, offset, 1);
+}
diff --git a/challenge-150/pete-houston/perl/ch-1.pl b/challenge-150/pete-houston/perl/ch-1.pl new file mode 100755 index 0000000000..79b8f0a92d --- /dev/null +++ b/challenge-150/pete-houston/perl/ch-1.pl @@ -0,0 +1,33 @@ +#!/usr/bin/env perl +#=============================================================================== +# +# FILE: 15001.pl +# +# USAGE: ./15001.pl A B +# +# DESCRIPTION: Output "Fibonacci strings" starting with A and B +# and the 51st char of the first string to have that many +# +# AUTHOR: Pete Houston (pete), cpan@openstrike.co.uk +# ORGANIZATION: Openstrike +# VERSION: 1.0 +# CREATED: 31/01/22 +#=============================================================================== + +use strict; +use warnings; + +my $offset = 51; + +my @fib = @ARGV[0,1]; +die "Unequal lengths.\n" unless length ($fib[0]) eq length ($fib[1]); + +while ($offset > length $fib[1]) { + push @fib, $fib[0] . $fib[1]; + shift @fib; + print "$fib[1]\n"; +} + +printf "Char at position %i is %s\n", + $offset, + substr ($fib[1], $offset - 1, 1); diff --git a/challenge-150/pete-houston/perl/ch-2.pl b/challenge-150/pete-houston/perl/ch-2.pl new file mode 100755 index 0000000000..75110de794 --- /dev/null +++ b/challenge-150/pete-houston/perl/ch-2.pl @@ -0,0 +1,24 @@ +#!/usr/bin/env perl +#=============================================================================== +# +# FILE: 15002.pl +# +# USAGE: ./15002.pl +# +# DESCRIPTION: Output all square-free integers less than 501 +# +# REQUIREMENTS: Math::Prime::Util +# AUTHOR: Pete Houston (pete), cpan@openstrike.co.uk +# ORGANIZATION: Openstrike +# VERSION: 1.0 +# CREATED: 31/01/22 +#=============================================================================== + +use strict; +use warnings; +use Math::Prime::Util qw/forsquarefree/; + +my @sf; +forsquarefree { push @sf, $_ } 500; +print 'The smallest positive square-free integers are: ' . + join (', ', @sf) . "\n"; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 1f1d915b4c..2ff4bc0ed5 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,160 +1,19 @@ { - "chart" : { - "type" : "column" + "legend" : { + "enabled" : 0 }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "legend" : { - "enabled" : 0 - }, - "xAxis" : { - "type" : "category" - }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 150", - "data" : [ - { - "name" : "Abigail", - "drilldown" : "Abigail", - "y" : 4 - }, - { - "y" : 4, - "drilldown" : "Alexander Pankoff", - "name" : "Alexander Pankoff" - }, - { - "name" : "Ali Moradi", - "drilldown" : "Ali Moradi", - "y" : 2 - }, - { - "y" : 1, - "drilldown" : "Andrew Shitov", - "name" : "Andrew Shitov" - }, - { - "drilldown" : "Athanasius", - "name" : "Athanasius", - "y" : 4 - }, - { - "name" : "Cheok-Yin Fung", - "drilldown" : "Cheok-Yin Fung", - "y" : 1 - }, - { - "name" : "Colin Crain", - "drilldown" : "Colin Crain", - "y" : 2 - }, - { - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby", - "y" : 3 - }, - { - "name" : "E. Choroba", - "drilldown" : "E. Choroba", - "y" : 2 - }, - { - "drilldown" : "Flavio Poletti", - "name" : "Flavio Poletti", - "y" : 6 - }, - { - "name" : "James Smith", - "drilldown" : "James Smith", - "y" : 3 - }, - { - "y" : 5, - "drilldown" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld" - }, - { - "y" : 2, - "name" : "Lubos Kolouch", - "drilldown" : "Lubos Kolouch" - }, - { - "y" : 4, - "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari" - }, - { - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson", - "y" : 2 - }, - { - "y" : 2, - "drilldown" : "Marton Polgar", - "name" : "Marton Polgar" - }, - { - "y" : 2, - "name" : "Matthew Neleigh", - "drilldown" : "Matthew Neleigh" - }, - { - "drilldown" : "Mohammad S Anwar", - "name" : "Mohammad S Anwar", - "y" : 2 - }, - { - "y" : 3, - "drilldown" : "Peter Campbell Smith", - "name" : "Peter Campbell Smith" - }, - { - "y" : 4, - "drilldown" : "Robert DiCicco", - "name" : "Robert DiCicco" - }, - { - "drilldown" : "Robert Ransbottom", - "name" : "Robert Ransbottom", - "y" : 2 - }, - { - "y" : 5, - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West" - }, - { - "y" : 4, - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke" - }, - { - "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan", - "y" : 3 - } - ] - } - ], "subtitle" : { - "text" : "[Champions: 24] Last updated at 2022-02-05 15:28:03 GMT" - }, - "tooltip" : { - "pointFormat" : "<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/>" - }, - "title" : { - "text" : "The Weekly Challenge - 150" + "text" : "[Champions: 25] Last updated at 2022-02-05 17:39:38 GMT" }, "drilldown" : { "series" : [ { + "name" : "Abigail", "id" : "Abigail", "data" : [ [ @@ -165,12 +24,9 @@ "Blog", 2 ] - ], - "name" : "Abigail" + ] }, { - "id" : "Alexander Pankoff", - "name" : "Alexander Pankoff", "data" : [ [ "Perl", @@ -180,17 +36,19 @@ "Blog", 2 ] - ] + ], + "id" : "Alexander Pankoff", + "name" : "Alexander Pankoff" }, { - "name" : "Ali Moradi", "data" : [ [ "Perl", 2 ] ], - "id" : "Ali Moradi" + "id" : "Ali Moradi", + "name" : "Ali Moradi" }, { "id" : "Andrew Shitov", @@ -204,6 +62,7 @@ }, { "id" : "Athanasius", + "name" : "Athanasius", "data" : [ [ "Perl", @@ -213,30 +72,31 @@ "Raku", 2 ] - ], - "name" : "Athanasius" + ] }, { - "id" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Cheok-Yin Fung", + "id" : "Cheok-Yin Fung" }, { - "id" : "Colin Crain", - "name" : "Colin Crain", "data" : [ [ "Blog", 2 ] - ] + ], + "id" : "Colin Crain", + "name" : "Colin Crain" }, { + "name" : "Dave Jacoby", + "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -246,21 +106,21 @@ "Blog", 1 ] - ], - "name" : "Dave Jacoby", - "id" : "Dave Jacoby" + ] }, { + "id" : "E. Choroba", "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "id" : "E. Choroba" + ] }, { + "id" : "Flavio Poletti", + "name" : "Flavio Poletti", "data" : [ [ "Perl", @@ -274,9 +134,7 @@ "Blog", 2 ] - ], - "name" : "Flavio Poletti", - "id" : "Flavio Poletti" + ] }, { "data" : [ @@ -294,6 +152,7 @@ }, { "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -307,22 +166,21 @@ "Blog", 1 ] - ], - "name" : "Laurent Rosenfeld" + ] }, { + "name" : "Lubos Kolouch", "id" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] - ], - "name" : "Lubos Kolouch" + ] }, { - "id" : "Luca Ferrari", "name" : "Luca Ferrari", + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -335,37 +193,36 @@ ] }, { - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], + "id" : "Mark Anderson", "name" : "Mark Anderson" }, { - "id" : "Marton Polgar", "data" : [ [ "Raku", 2 ] ], + "id" : "Marton Polgar", "name" : "Marton Polgar" }, { - "name" : "Matthew Neleigh", "data" : [ [ "Perl", 2 ] ], - "id" : "Matthew Neleigh" + "id" : "Matthew Neleigh", + "name" : "Matthew Neleigh" }, { - "name" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -376,7 +233,18 @@ 1 ] ], - "id" : "Mohammad S Anwar" + "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Pete Houston", + "name" : "Pete Houston" }, { "data" : [ @@ -389,10 +257,11 @@ 1 ] ], - "name" : "Peter Campbell Smith", - "id" : "Peter Campbell Smith" + "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith" }, { + "id" : "Robert DiCicco", "name" : "Robert DiCicco", "data" : [ [ @@ -403,21 +272,19 @@ "Raku", 2 ] - ], - "id" : "Robert DiCicco" + ] }, { + "id" : "Robert Ransbottom", + "name" : "Robert Ransbottom", "data" : [ [ "Raku", 2 ] - ], - "name" : "Robert Ransbottom", - "id" : "Robert Ransbottom" + ] }, { - "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -432,10 +299,12 @@ 1 ] ], - "name" : "Roger Bell_West" + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" }, { "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -445,8 +314,7 @@ "Raku", 2 ] - ], - "id" : "Ulrich Rieke" + ] }, { "id" : "W. Luis Mochan", @@ -464,13 +332,160 @@ } ] }, + "xAxis" : { + "type" : "category" + }, + "title" : { + "text" : "The Weekly Challenge - 150" + }, + "chart" : { + "type" : "column" + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "y" : 4, + "name" : "Abigail", + "drilldown" : "Abigail" + }, + { + "y" : 4, + "name" : "Alexander Pankoff", + "drilldown" : "Alexander Pankoff" + }, + { + "name" : "Ali Moradi", + "y" : 2, + "drilldown" : "Ali Moradi" + }, + { + "drilldown" : "Andrew Shitov", + "name" : "Andrew Shitov", + "y" : 1 + }, + { + "drilldown" : "Athanasius", + "y" : 4, + "name" : "Athanasius" + }, + { + "drilldown" : "Cheok-Yin Fung", + "y" : 1, + "name" : "Cheok-Yin Fung" + }, + { + "name" : "Colin Crain", + "y" : 2, + "drilldown" : "Colin Crain" + }, + { + "y" : 3, + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby" + }, + { + "name" : "E. Choroba", + "y" : 2, + "drilldown" : "E. Choroba" + }, + { + "name" : "Flavio Poletti", + "y" : 6, + "drilldown" : "Flavio Poletti" + }, + { + "name" : "James Smith", + "y" : 3, + "drilldown" : "James Smith" + }, + { + "drilldown" : "Laurent Rosenfeld", + "y" : 5, + "name" : "Laurent Rosenfeld" + }, + { + "drilldown" : "Lubos Kolouch", + "name" : "Lubos Kolouch", + "y" : 2 + }, + { + "y" : 4, + "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari" + }, + { + "y" : 2, + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson" + }, + { + "y" : 2, + "name" : "Marton Polgar", + "drilldown" : "Marton Polgar" + }, + { + "y" : 2, + "name" : "Matthew Neleigh", + "drilldown" : "Matthew Neleigh" + }, + { + "name" : "Mohammad S Anwar", + "y" : 2, + "drilldown" : "Mohammad S Anwar" + }, + { + "y" : 2, + "name" : "Pete Houston", + "drilldown" : "Pete Houston" + }, + { + "drilldown" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", + "y" : 3 + }, + { + "drilldown" : "Robert DiCicco", + "name" : "Robert DiCicco", + "y" : 4 + }, + { + "drilldown" : "Robert Ransbottom", + "name" : "Robert Ransbottom", + "y" : 2 + }, + { + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", + "y" : 5 + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 4, + "name" : "Ulrich Rieke" + }, + { + "name" : "W. Luis Mochan", + "y" : 3, + "drilldown" : "W. Luis Mochan" + } + ], + "name" : "The Weekly Challenge - 150" + } + ], "plotOptions" : { "series" : { "borderWidth" : 0, "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 + "enabled" : 1, + "format" : "{point.y}" } } + }, + "tooltip" : { + "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/>", + "followPointer" : 1 } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index f52ae1eeb8..d699071590 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,40 +1,18 @@ { - "chart" : { - "type" : "column" - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "legend" : { - "enabled" : "false" + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2021]" }, "xAxis" : { + "type" : "category", "labels" : { "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" } - }, - "type" : "category" + } }, "series" : [ { - "dataLabels" : { - "y" : 10, - "enabled" : "true", - "format" : "{point.y:.0f}", - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "align" : "right", - "rotation" : -90, - "color" : "#FFFFFF" - }, - "name" : "Contributions", "data" : [ [ "Blog", @@ -42,22 +20,44 @@ ], [ "Perl", - 7230 + 7232 ], [ "Raku", 4348 ] - ] + ], + "dataLabels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "y" : 10, + "color" : "#FFFFFF", + "enabled" : "true", + "align" : "right", + "rotation" : -90, + "format" : "{point.y:.0f}" + }, + "name" : "Contributions" } ], - "subtitle" : { - "text" : "Last updated at 2022-02-05 15:28:03 GMT" + "chart" : { + "type" : "column" }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2021]" + "legend" : { + "enabled" : "false" + }, + "subtitle" : { + "text" : "Last updated at 2022-02-05 17:39:38 GMT" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 590e6752c1..68db6e30f5 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,15 +1,798 @@ { - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-02-05 15:28:03 GMT" + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } }, "tooltip" : { + "headerFormat" : "<span style=\"font-size:11px\"></span>", "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>" + "followPointer" : "true" + }, + "chart" : { + "type" : "column" + }, + "series" : [ + { + "colorByPoint" : "true", + "data" : [ + { + "name" : "#001", + "y" : 161, + "drilldown" : "001" + }, + { + "name" : "#002", + "y" : 125, + "drilldown" : "002" + }, + { + "y" : 83, + "name" : "#003", + "drilldown" : "003" + }, + { + "drilldown" : "004", + "name" : "#004", + "y" : 99 + }, + { + "drilldown" : "005", + "y" : 78, + "name" : "#005" + }, + { + "drilldown" : "006", + "y" : 58, + "name" : "#006" + }, + { + "drilldown" : "007", + "name" : "#007", + "y" : 64 + }, + { + "name" : "#008", + "y" : 78, + "drilldown" : "008" + }, + { + "drilldown" : "009", + "name" : "#009", + "y" : 76 + }, + { + "drilldown" : "010", + "y" : 65, + "name" : "#010" + }, + { + "drilldown" : "011", + "name" : "#011", + "y" : 85 + }, + { + "name" : "#012", + "y" : 89, + "drilldown" : "012" + }, + { + "y" : 85, + "name" : "#013", + "drilldown" : "013" + }, + { + "drilldown" : "014", + "name" : "#014", + "y" : 101 + }, + { + "y" : 99, + "name" : "#015", + "drilldown" : "015" + }, + { + "name" : "#016", + "y" : 71, + "drilldown" : "016" + }, + { + "drilldown" : "017", + "name" : "#017", + "y" : 84 + }, + { + "drilldown" : "018", + "name" : "#018", + "y" : 81 + }, + { + "y" : 103, + "name" : "#019", + "drilldown" : "019" + }, + { + "drilldown" : "020", + "name" : "#020", + "y" : 101 + }, + { + "drilldown" : "021", + "name" : "#021", + "y" : 72 + }, + { + "drilldown" : "022", + "name" : "#022", + "y" : 68 + }, + { + "drilldown" : "023", + "y" : 97, + "name" : "#023" + }, + { + "drilldown" : "024", + "name" : "#024", + "y" : 75 + }, + { + "name" : "#025", + "y" : 59, + "drilldown" : "025" + }, + { + "drilldown" : "026", + "y" : 74, + "name" : "#026" + }, + { + "drilldown" : "027", + "name" : "#027", + "y" : 62 + }, + { + "drilldown" : "028", + "name" : "#028", + "y" : 82 + }, + { + "y" : 81, + "name" : "#029", + "drilldown" : "029" + }, + { + "name" : "#030", + "y" : 119, + "drilldown" : "030" + }, + { + "drilldown" : "031", + "name" : "#031", + "y" : 91 + }, + { + "drilldown" : "032", + "y" : 96, + "name" : "#032" + }, + { + "y" : 112, + "name" : "#033", + "drilldown" : "033" + }, + { + "y" : 66, + "name" : "#034", + "drilldown" : "034" + }, + { + "y" : 66, + "name" : "#035", + "drilldown" : "035" + }, + { + "drilldown" : "036", + "y" : 68, + "name" : "#036" + }, + { + "name" : "#037", + "y" : 67, + "drilldown" : "037" + }, + { + "name" : "#038", + "y" : 68, + "drilldown" : "038" + |
