diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-05-23 22:47:35 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-05-23 22:47:35 +0100 |
| commit | 3cfd91a9c6536a4a485fea11df4f1cf279c8974d (patch) | |
| tree | e4d5f5ef3d9dddf1c3c5df12f7d1cc6caa2cc9b6 | |
| parent | 5cd49e1db35557ee46f1ec1d1308e27e5d5417fa (diff) | |
| download | perlweeklychallenge-club-3cfd91a9c6536a4a485fea11df4f1cf279c8974d.tar.gz perlweeklychallenge-club-3cfd91a9c6536a4a485fea11df4f1cf279c8974d.tar.bz2 perlweeklychallenge-club-3cfd91a9c6536a4a485fea11df4f1cf279c8974d.zip | |
- Added solution by Pete Houston.
| -rw-r--r-- | challenge-113/pete-houston/perl/ch-1.pl | 62 | ||||
| -rw-r--r-- | stats/pwc-current.json | 233 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 62 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1548 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 388 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 114 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 114 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 122 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 500 |
14 files changed, 1787 insertions, 1710 deletions
diff --git a/challenge-113/pete-houston/perl/ch-1.pl b/challenge-113/pete-houston/perl/ch-1.pl new file mode 100644 index 0000000000..9f159c4e28 --- /dev/null +++ b/challenge-113/pete-houston/perl/ch-1.pl @@ -0,0 +1,62 @@ +#!/usr/bin/env perl +#=============================================================================== +# +# FILE: 11301.pl +# +# USAGE: ./11301.pl SUM DIGIT +# +# DESCRIPTION: Report if SUM can be a sum of natural numbers each of +# which includes DIGIT at least once +# +# AUTHOR: Pete Houston (pete), cpan@openstrike.co.uk +# ORGANIZATION: Openstrike +# VERSION: 1.0 +# CREATED: 17/05/21 +#=============================================================================== + +use strict; +use warnings; + +my ($sum, $d) = @ARGV; +result (0) if $sum < $d; + +# What is the limit? ie. there must be a number beyond which the sum is +# always possible, but what is that? +# If $d is 1 then it's always true. +# If $d is 2 then every $sum above 19 is true because it is either 20 + +# x * $d or 21 + x * $d. +# If $d is 3 then every $sum above 29 is true because it is either 30 + +# x * $d or 31 + x * $d or 22 + x * $d. +# So, by inspection if $d = 9 The biggest number which cannot be summed +# to is 80? +# +# Upshot: we don't need to worry about computing massive sums. Phew. +# +# What about 01? does that contain a zero? Let's say yes. +result (1) if ($sum > 80); + +# Everything in between +my @components; +for my $n ($d .. $sum) { + next unless $n; # Adding zero is a no-op + unshift @components, $n if $n =~ /$d/; +} + +# Now, try subtracting a number from the total and see if you can fit +# the rest. Recursion! +result (sum_fit ($sum, @components)); + +sub sum_fit { + my ($target, @comps) = @_; + return 0 if $target < 0; + for my $n (@comps) { + my $newtarget = $target - $n; + return 1 if $newtarget == 0 || sum_fit ($newtarget, @comps); + } + return 0; +} + +sub result { + print "$_[0]\n"; + exit; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 6ce4f62fcd..fdb1493150 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,34 +1,33 @@ { - "chart" : { - "type" : "column" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } } }, - "title" : { - "text" : "Perl Weekly Challenge - 113" + "legend" : { + "enabled" : 0 }, "xAxis" : { "type" : "category" }, - "legend" : { - "enabled" : 0 + "chart" : { + "type" : "column" }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 + "subtitle" : { + "text" : "[Champions: 25] Last updated at 2021-05-23 21:45:52 GMT" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" } }, "drilldown" : { "series" : [ { - "id" : "Aaron Smith", "data" : [ [ "Raku", @@ -39,7 +38,8 @@ 1 ] ], - "name" : "Aaron Smith" + "name" : "Aaron Smith", + "id" : "Aaron Smith" }, { "id" : "Abigail", @@ -57,7 +57,6 @@ }, { "name" : "Adam Russell", - "id" : "Adam Russell", "data" : [ [ "Perl", @@ -67,10 +66,11 @@ "Blog", 2 ] - ] + ], + "id" : "Adam Russell" }, { - "id" : "Arne Sommer", + "name" : "Arne Sommer", "data" : [ [ "Perl", @@ -85,20 +85,20 @@ 1 ] ], - "name" : "Arne Sommer" + "id" : "Arne Sommer" }, { - "id" : "Ben Davies", + "name" : "Ben Davies", "data" : [ [ "Raku", 2 ] ], - "name" : "Ben Davies" + "id" : "Ben Davies" }, { - "name" : "Cheok-Yin Fung", + "id" : "Cheok-Yin Fung", "data" : [ [ "Perl", @@ -109,10 +109,10 @@ 1 ] ], - "id" : "Cheok-Yin Fung" + "name" : "Cheok-Yin Fung" }, { - "id" : "Colin Crain", + "name" : "Colin Crain", "data" : [ [ "Perl", @@ -127,47 +127,47 @@ 1 ] ], - "name" : "Colin Crain" + "id" : "Colin Crain" }, { - "name" : "Dave Jacoby", "data" : [ [ "Perl", 2 ] ], - "id" : "Dave Jacoby" + "id" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { - "id" : "David Schwartz", "data" : [ [ "Perl", 2 ] ], - "name" : "David Schwartz" + "name" : "David Schwartz", + "id" : "David Schwartz" }, { + "name" : "Duncan C. White", "data" : [ [ "Perl", 2 ] ], - "id" : "Duncan C. White", - "name" : "Duncan C. White" + "id" : "Duncan C. White" }, { - "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "id" : "E. Choroba" + "id" : "E. Choroba", + "name" : "E. Choroba" }, { "id" : "Flavio Poletti", @@ -188,8 +188,6 @@ "name" : "Flavio Poletti" }, { - "name" : "James Smith", - "id" : "James Smith", "data" : [ [ "Perl", @@ -199,7 +197,9 @@ "Blog", 1 ] - ] + ], + "id" : "James Smith", + "name" : "James Smith" }, { "data" : [ @@ -208,8 +208,8 @@ 2 ] ], - "id" : "Jan Krnavek", - "name" : "Jan Krnavek" + "name" : "Jan Krnavek", + "id" : "Jan Krnavek" }, { "data" : [ @@ -218,20 +218,21 @@ 2 ] ], - "id" : "Joan Mimosinnet", - "name" : "Joan Mimosinnet" + "name" : "Joan Mimosinnet", + "id" : "Joan Mimosinnet" }, { - "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], - "name" : "Jorg Sommrey" + "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey" }, { + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -242,7 +243,6 @@ 2 ] ], - "id" : "Luca Ferrari", "name" : "Luca Ferrari" }, { @@ -256,14 +256,24 @@ "id" : "Mark Anderson" }, { - "name" : "Niels van Dijke", + "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "id" : "Niels van Dijke" + "name" : "Niels van Dijke" + }, + { + "data" : [ + [ + "Perl", + 1 + ] + ], + "id" : "Pete Houston", + "name" : "Pete Houston" }, { "data" : [ @@ -284,8 +294,6 @@ "name" : "Roger Bell_West" }, { - "name" : "Simon Green", - "id" : "Simon Green", "data" : [ [ "Perl", @@ -295,10 +303,11 @@ "Blog", 1 ] - ] + ], + "id" : "Simon Green", + "name" : "Simon Green" }, { - "id" : "Stuart Little", "data" : [ [ "Perl", @@ -309,9 +318,11 @@ 2 ] ], + "id" : "Stuart Little", "name" : "Stuart Little" }, { + "name" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -322,11 +333,10 @@ 2 ] ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + "id" : "Ulrich Rieke" }, { - "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -337,129 +347,136 @@ 1 ] ], - "name" : "W. Luis Mochan" + "id" : "W. Luis Mochan" } ] }, + "title" : { + "text" : "Perl Weekly Challenge - 113" + }, "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/>", - "followPointer" : 1 + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" }, "series" : [ { - "colorByPoint" : 1, "name" : "Perl Weekly Challenge - 113", "data" : [ { - "y" : 3, "name" : "Aaron Smith", + "y" : 3, "drilldown" : "Aaron Smith" }, { - "y" : 4, + "drilldown" : "Abigail", "name" : "Abigail", - "drilldown" : "Abigail" + "y" : 4 }, { - "drilldown" : "Adam Russell", "name" : "Adam Russell", - "y" : 4 + "y" : 4, + "drilldown" : "Adam Russell" }, { - "name" : "Arne Sommer", "drilldown" : "Arne Sommer", - "y" : 5 + "y" : 5, + "name" : "Arne Sommer" }, { - "y" : 2, + "drilldown" : "Ben Davies", "name" : "Ben Davies", - "drilldown" : "Ben Davies" + "y" : 2 }, { + "y" : 3, "name" : "Cheok-Yin Fung", - "drilldown" : "Cheok-Yin Fung", - "y" : 3 + "drilldown" : "Cheok-Yin Fung" }, { "name" : "Colin Crain", - "drilldown" : "Colin Crain", - "y" : 5 + "y" : 5, + "drilldown" : "Colin Crain" }, { - "drilldown" : "Dave Jacoby", "name" : "Dave Jacoby", - "y" : 2 + "y" : 2, + "drilldown" : "Dave Jacoby" }, { "y" : 2, - "drilldown" : "David Schwartz", - "name" : "David Schwartz" + "name" : "David Schwartz", + "drilldown" : "David Schwartz" }, { "name" : "Duncan C. White", - "drilldown" : "Duncan C. White", - "y" : 2 + "y" : 2, + "drilldown" : "Duncan C. White" }, { - "name" : "E. Choroba", "drilldown" : "E. Choroba", + "name" : "E. Choroba", "y" : 2 }, { - "y" : 6, + "drilldown" : "Flavio Poletti", "name" : "Flavio Poletti", - "drilldown" : "Flavio Poletti" + "y" : 6 }, { "drilldown" : "James Smith", - "name" : "James Smith", - "y" : 3 + "y" : 3, + "name" : "James Smith" }, { - "y" : 2, + "drilldown" : "Jan Krnavek", "name" : "Jan Krnavek", - "drilldown" : "Jan Krnavek" + "y" : 2 }, { - "name" : "Joan Mimosinnet", "drilldown" : "Joan Mimosinnet", - "y" : 2 + "y" : 2, + "name" : "Joan Mimosinnet" }, { - "drilldown" : "Jorg Sommrey", + "y" : 2, "name" : "Jorg Sommrey", - "y" : 2 + "drilldown" : "Jorg Sommrey" }, { + "drilldown" : "Luca Ferrari", "y" : 4, - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari" + "name" : "Luca Ferrari" }, { "y" : 2, - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson" + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson" }, { + "drilldown" : "Niels van Dijke", "y" : 2, - "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke" + "name" : "Niels van Dijke" }, { - "drilldown" : "Roger Bell_West", + "drilldown" : "Pete Houston", + "y" : 1, + "name" : "Pete Houston" + }, + { + "y" : 5, "name" : "Roger Bell_West", - "y" : 5 + "drilldown" : "Roger Bell_West" }, { + "name" : "Simon Green", "y" : 3, - "drilldown" : "Simon Green", - "name" : "Simon Green" + "drilldown" : "Simon Green" }, { + "drilldown" : "Stuart Little", "y" : 4, - "name" : "Stuart Little", - "drilldown" : "Stuart Little" + "name" : "Stuart Little" }, { "y" : 3, @@ -467,14 +484,12 @@ "drilldown" : "Ulrich Rieke" }, { - "drilldown" : "W. Luis Mochan", "name" : "W. Luis Mochan", - "y" : 3 + "y" : 3, + "drilldown" : "W. Luis Mochan" } - ] + ], + "colorByPoint" : 1 } - ], - "subtitle" : { - "text" : "[Champions: 24] Last updated at 2021-05-23 21:39:59 GMT" - } + ] } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 732fc5573b..33147ec4c0 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,33 +1,42 @@ { - "legend" : { - "enabled" : "false" - }, - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, "yAxis" : { "min" : 0, "title" : { "text" : null } }, + "subtitle" : { + "text" : "Last updated at 2021-05-23 21:45:52 GMT" + }, "chart" : { "type" : "column" }, - "subtitle" : { - "text" : "Last updated at 2021-05-23 21:39:59 GMT" + "legend" : { + "enabled" : "false" + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } }, "series" : [ { + "dataLabels" : { + "enabled" : "true", + "y" : 10, + "align" : "right", + "color" : "#FFFFFF", + "format" : "{point.y:.0f}", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "rotation" : -90 + }, "name" : "Contributions", "data" : [ [ @@ -36,28 +45,19 @@ ], [ "Perl", - 5350 + 5351 ], [ "Raku", 3394 ] - ], - "dataLabels" : { - "enabled" : "true", - "y" : 10, - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "align" : "right", - "format" : "{point.y:.0f}", - "color" : "#FFFFFF", - "rotation" : -90 - } + ] } ], "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index a44c1f6ebe..ffe85ae7f7 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,25 +1,580 @@ { - "chart" : { - "type" : "column" - }, - "title" : { - "text" : "Perl Weekly Challenge Language" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "series" : [ + { + "name" : "Perl Weekly Challenge Languages", + "data" : [ + { + "name" : "#001", + "y" : 161, + "drilldown" : "001" + }, + { + "name" : "#002", + "y" : 125, + "drilldown" : "002" + }, + { + "name" : "#003", + "y" : 81, + "drilldown" : "003" + }, + { + "drilldown" : "004", + "name" : "#004", + "y" : 99 + }, + { + "drilldown" : "005", + "y" : 78, + "name" : "#005" + }, + { + "drilldown" : "006", + "y" : 58, + "name" : "#006" + }, + { + "y" : 64, + "name" : "#007", + "drilldown" : "007" + }, + { + "drilldown" : "008", + "name" : "#008", + "y" : 78 + }, + { + "drilldown" : "009", + "y" : 76, + "name" : "#009" + }, + { + "name" : "#010", + "y" : 65, + "drilldown" : "010" + }, + { + "name" : "#011", + "y" : 85, + "drilldown" : "011" + }, + { + "drilldown" : "012", + "name" : "#012", + "y" : 89 + }, + { + "drilldown" : "013", + "y" : 85, + "name" : "#013" + }, + { + "name" : "#014", + "y" : 101, + "drilldown" : "014" + }, + { + "drilldown" : "015", + "y" : 99, + "name" : "#015" + }, + { + "name" : "#016", + "y" : 71, + "drilldown" : "016" + }, + { + "y" : 84, + "name" : "#017", + "drilldown" : "017" + }, + { + "drilldown" : "018", + "name" : "#018", + "y" : 81 + }, + { + "name" : "#019", + "y" : 103, + "drilldown" : "019" + }, + { + "drilldown" : "020", + "y" : 101, + "name" : "#020" + }, + { + "drilldown" : "021", + "name" : "#021", + "y" : 72 + }, + { + "drilldown" : "022", + "name" : "#022", + "y" : 68 + }, + { + "name" : "#023", + "y" : 97, + "drilldown" : "023" + }, + { + "drilldown" : "024", + "name" : "#024", + "y" : 74 + }, + { + "drilldown" : "025", + "y" : 59, + "name" : "#025" + }, + { + "name" : "#026", + "y" : 74, + "drilldown" : "026" + }, + { + "y" : 60, + "name" : "#027", + "drilldown" : "027" + }, + { + "drilldown" : "028", + "y" : 80, + "name" : "#028" + }, + { + "drilldown" : "029", + "name" : "#029", + "y" : 79 + }, + { + "drilldown" : "030", + "name" : "#030", + "y" : 117 + }, + { + "name" : "#031", + "y" : 89, + "drilldown" : "031" + }, + { + "drilldown" : "032", + "y" : 94, + "name" : "#032" + }, + { + "y" : 110, + "name" : "#033", + "drilldown" : "033" + }, + { + "drilldown" : "034", + "y" : 64, + "name" : "#034" + }, + { + "name" : "#035", + "y" : 64, + "drilldown" : "035" + }, + { + "drilldown" : "036", + "name" : "#036", + "y" : 68 + }, + { + "name" : "#037", + "y" : 67, + "drilldown" : "037" + }, + { + "drilldown" : "038", + "y" : 68, + "name" : "#038" + }, + { + "drilldown" : "039", + "name" : "#039", + "y" : 62 + }, + { + "drilldown" : "040", + "y" : 73, + "name" : "#040" + }, + { + "drilldown" : "041", + "y" : 76, + "name" : "#041" + }, + { + "drilldown" : "042", + "name" : "#042", + "y" : 92 + }, + { + "drilldown" : "043", + "name" : "#043", + "y" : 68 + }, + { + "y" : 85, + "name" : "#044", + "drilldown" : "044" + }, + { + "name" : "#045", + "y" : 96, + "drilldown" : "045" + }, + { + "drilldown" : "046", + "name" : "#046", + "y" : 87 + }, + { + "drilldown" : "047", + "y" : 84, + "name" : "#047" + }, + { + "drilldown" : "048", + "name" : "#048", + "y" : 108 + }, + { + "y" : 89, + "name" : "#049", + "drilldown" : "049" + }, + { + "y" : 98, + "name" : "#050", + "drilldown" : "050" + }, + { + "name" : "#051", + "y" : 89, + "drilldown" : "051" + }, + { + "drilldown" : "052", + "name" : "#052", + "y" : 91 + }, + { + "drilldown" : "053", + "y" : 101, + "name" : "#053" + }, + { + "name" : "#054", + "y" : 103, + "drilldown" : "054" + }, + { + "name" : "#055", + "y" : 88, + "drilldown" : "055" + }, + { + "name" : "#056", + "y" : 95, + "drilldown" : "056" + }, + { + "drilldown" : "057", + "name" : "#057", + "y" : 80 + }, + { + "y" : 69, + "name" : "#058", + "drilldown" : "058" + }, + { + "drilldown" : "059", + "y" : 89, + "name" : "#059" + }, + { + "y" : 85, + "name" : "#060", + "drilldown" : "060" + }, + { + "name" : "#061", + "y" : 81, + "drilldown" : "061" + }, + { + "name" : "#062", + "y" : 58, + "drilldown" : "062" + }, + { + "drilldown" : "063", + "y" : 89, + "name" : "#063" + }, + { + "name" : "#064", + "y" : 80, + "drilldown" : "064" + }, + { + "drilldown" : "065", + "name" : "#065", + "y" : 73 + }, + { + "y" : 84, + "name" : "#066", + "drilldown" : "066" + }, + { + "drilldown" : "067", + "name" : "#067", + "y" : 90 + }, + { + "name" : "#068", + "y" : 75, + "drilldown" : "068" + }, + { + "drilldown" : "069", + "name" : "#069", + "y" : 83 + }, + { + "name" : "#070", + "y" : 93, + "drilldown" : "070" + }, + { + "name" : "#071", + "y" : 78, + "drilldown" : "071" + }, + { + "drilldown" : "072", + "name" : "#072", + "y" : 112 + }, + { + "drilldown" : "073", + "name" : "#073", + "y" : 110 + }, + { + "drilldown" : "074", + "name" : "#074", + "y" : 115 + }, + { + "name" : "#075", + "y" : 113, + "drilldown" : "075" + }, + { + |
