diff options
| -rw-r--r-- | challenge-116/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-116/laurent-rosenfeld/perl/ch-1.pl | 36 | ||||
| -rw-r--r-- | challenge-116/laurent-rosenfeld/perl/ch-2.pl | 12 | ||||
| -rw-r--r-- | challenge-116/laurent-rosenfeld/raku/ch-1.raku | 18 | ||||
| -rw-r--r-- | challenge-116/laurent-rosenfeld/raku/ch-2.raku | 8 | ||||
| -rw-r--r-- | stats/pwc-current.json | 207 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 64 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 800 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 778 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 94 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 32 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 56 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 120 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 490 |
18 files changed, 1527 insertions, 1429 deletions
diff --git a/challenge-116/laurent-rosenfeld/blog.txt b/challenge-116/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..29ddeca71f --- /dev/null +++ b/challenge-116/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2021/06/perl-weekly-challenge-116-number-sequence-and-sum-of-squares.html diff --git a/challenge-116/laurent-rosenfeld/perl/ch-1.pl b/challenge-116/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..93230b90f6 --- /dev/null +++ b/challenge-116/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,36 @@ +use strict; +use warnings; +use feature "say"; +my $end_result; + +sub num_seq { + my $cur_val = shift; + my $result = shift; + my @digits = @_; + + my $len = length $cur_val; + return if scalar @digits < $len; + $cur_val = $digits[0] - 1 unless $cur_val; + for my $i ($len - 1 .. $#digits) { + my $new_val = join "", @digits[0..$i]; + next if $new_val - $cur_val != 1 or $new_val =~ /^0/; + push @{$result}, join "", @digits[0..$i]; + # say "@$result"; + if (scalar @digits > $len) { + num_seq($new_val, $result, @digits[$i+1..$#digits]); + } else { + $end_result = $result; + return; + } + } +} + +for my $test (qw<1234 91011 10203>) { + $end_result = ""; + num_seq 0, [], split "", $test; + if ($end_result) { + say join ", ", @$end_result; + } else { + say $test; + } +} diff --git a/challenge-116/laurent-rosenfeld/perl/ch-2.pl b/challenge-116/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..5ec65737f9 --- /dev/null +++ b/challenge-116/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,12 @@ +use strict; +use warnings; +use feature "say"; + +sub sum_squares { + my $n = shift; + my $sum_sq = 0; + $sum_sq += $_ ** 2 for split //, $n; + my $sqrt_int = int sqrt $sum_sq; + return $sqrt_int ** 2 == $sum_sq ? 1 : 0; +} +say "$_: ", sum_squares $_ for 10..71; diff --git a/challenge-116/laurent-rosenfeld/raku/ch-1.raku b/challenge-116/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..d3f4bc0075 --- /dev/null +++ b/challenge-116/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1,18 @@ +use v6; + +sub num-seq (Int $in) { + MATCH: for $in ~~ m:ex/^(\d+)+$/ -> $m { + my @match = $m[0].map({~$_}); # stringify the match object + next MATCH if @match.elems < 2; + for 1..@match.end -> $i { + next MATCH if @match[$i] ~~ /^0/ or # remove a match starting with 0 + @match[$i] - @match[$i - 1] != 1; + } + return @match; + } + return $in +} + +for <1234 91011 10203> -> $test { + say join ', ', num-seq $test; +} diff --git a/challenge-116/laurent-rosenfeld/raku/ch-2.raku b/challenge-116/laurent-rosenfeld/raku/ch-2.raku new file mode 100644 index 0000000000..ce71949447 --- /dev/null +++ b/challenge-116/laurent-rosenfeld/raku/ch-2.raku @@ -0,0 +1,8 @@ +use v6; + +sub sum-squares (Int $n where * >= 10) { + my $sum-sq = [+] $n.comb.map({$_²}); + my $sqrt-int = $sum-sq.sqrt.Int; + return $sqrt-int² == $sum-sq ?? 1 !! 0; +} +say "$_: ", sum-squares $_ for 10..71; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 49e91115ef..58ffc372a8 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,33 +1,11 @@ { - "chart" : { - "type" : "column" - }, - "title" : { - "text" : "Perl Weekly Challenge - 116" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "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 - }, "legend" : { "enabled" : 0 }, - "subtitle" : { - "text" : "[Champions: 19] Last updated at 2021-06-13 11:22:26 GMT" - }, "series" : [ { "name" : "Perl Weekly Challenge - 116", + "colorByPoint" : 1, "data" : [ { "y" : 3, @@ -36,12 +14,12 @@ }, { "name" : "Cheok-Yin Fung", - "y" : 2, - "drilldown" : "Cheok-Yin Fung" + "drilldown" : "Cheok-Yin Fung", + "y" : 2 }, { - "drilldown" : "Colin Crain", "y" : 1, + "drilldown" : "Colin Crain", "name" : "Colin Crain" }, { @@ -51,53 +29,58 @@ }, { "name" : "E. Choroba", - "y" : 2, - "drilldown" : "E. Choroba" + "drilldown" : "E. Choroba", + "y" : 2 }, { - "name" : "Flavio Poletti", + "drilldown" : "Flavio Poletti", "y" : 6, - "drilldown" : "Flavio Poletti" + "name" : "Flavio Poletti" }, { + "name" : "James Smith", "drilldown" : "James Smith", - "y" : 3, - "name" : "James Smith" + "y" : 3 }, { "name" : "Jan Krnavek", - "y" : 2, - "drilldown" : "Jan Krnavek" + "drilldown" : "Jan Krnavek", + "y" : 2 }, { - "drilldown" : "Jorg Sommrey", "y" : 2, + "drilldown" : "Jorg Sommrey", "name" : "Jorg Sommrey" }, { - "y" : 4, + "y" : 5, + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" + }, + { + "name" : "Luca Ferrari", "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari" + "y" : 4 }, { + "name" : "Mark Anderson", "y" : 2, - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson" + "drilldown" : "Mark Anderson" }, { - "y" : 2, "drilldown" : "Niels van Dijke", + "y" : 2, "name" : "Niels van Dijke" }, { + "name" : "Paulo Custodio", "drilldown" : "Paulo Custodio", - "y" : 2, - "name" : "Paulo Custodio" + "y" : 2 }, { + "name" : "Roger Bell_West", "drilldown" : "Roger Bell_West", - "y" : 5, - "name" : "Roger Bell_West" + "y" : 5 }, { "name" : "Simon Green", @@ -105,9 +88,9 @@ "drilldown" : "Simon Green" }, { - "name" : "Simon Proctor", "y" : 2, - "drilldown" : "Simon Proctor" + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor" }, { "name" : "Stuart Little", @@ -115,32 +98,25 @@ "y" : 4 }, { - "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke", "y" : 3, - "name" : "Ulrich Rieke" + "drilldown" : "Ulrich Rieke" }, { - "name" : "W. Luis Mochan", "drilldown" : "W. Luis Mochan", - "y" : 3 + "y" : 3, + "name" : "W. Luis Mochan" } - ], - "colorByPoint" : 1 + ] } ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "xAxis" : { - "type" : "category" + "title" : { + "text" : "Perl Weekly Challenge - 116" }, "drilldown" : { "series" : [ { "name" : "Aaron Smith", - "id" : "Aaron Smith", "data" : [ [ "Raku", @@ -150,7 +126,8 @@ "Blog", 1 ] - ] + ], + "id" : "Aaron Smith" }, { "data" : [ @@ -159,20 +136,21 @@ 2 ] ], - "name" : "Cheok-Yin Fung", - "id" : "Cheok-Yin Fung" + "id" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung" }, { + "name" : "Colin Crain", + "id" : "Colin Crain", "data" : [ [ "Blog", 1 ] - ], - "name" : "Colin Crain", - "id" : "Colin Crain" + ] }, { + "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -183,20 +161,21 @@ 1 ] ], - "name" : "Dave Jacoby", - "id" : "Dave Jacoby" + "name" : "Dave Jacoby" }, { + "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "name" : "E. Choroba", - "id" : "E. Choroba" + "name" : "E. Choroba" }, { + "name" : "Flavio Poletti", + "id" : "Flavio Poletti", "data" : [ [ "Perl", @@ -210,13 +189,9 @@ "Blog", 2 ] - ], - "id" : "Flavio Poletti", - "name" : "Flavio Poletti" + ] }, { - "id" : "James Smith", - "name" : "James Smith", "data" : [ [ "Perl", @@ -226,31 +201,52 @@ "Blog", 1 ] - ] + ], + "id" : "James Smith", + "name" : "James Smith" }, { - "id" : "Jan Krnavek", "name" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Jan Krnavek" }, { + "name" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], - "name" : "Jorg Sommrey", "id" : "Jorg Sommrey" }, { "data" : [ [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" + }, + { + "id" : "Luca Ferrari", + "data" : [ + [ "Raku", 2 ], @@ -259,27 +255,26 @@ 2 ] ], - "name" : "Luca Ferrari", - "id" : "Luca Ferrari" + "name" : "Luca Ferrari" }, { - "name" : "Mark Anderson", "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Mark Anderson" }, { + "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "id" : "Niels van Dijke", "name" : "Niels van Dijke" }, { @@ -293,6 +288,7 @@ ] }, { + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -307,12 +303,9 @@ 1 ] ], - "id" : "Roger Bell_West", "name" : "Roger Bell_West" }, { - "name" : "Simon Green", - "id" : "Simon Green", "data" : [ [ "Perl", @@ -322,17 +315,19 @@ "Blog", 1 ] - ] + ], + "id" : "Simon Green", + "name" : "Simon Green" }, { + "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "id" : "Simon Proctor", - "name" : "Simon Proctor" + "id" : "Simon Proctor" }, { "data" : [ @@ -363,7 +358,6 @@ "name" : "Ulrich Rieke" }, { - "id" : "W. Luis Mochan", "name" : "W. Luis Mochan", "data" : [ [ @@ -374,8 +368,37 @@ "Blog", 1 ] - ] + ], + "id" : "W. Luis Mochan" } ] + }, + "chart" : { + "type" : "column" + }, + "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/>" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "subtitle" : { + "text" : "[Champions: 20] Last updated at 2021-06-13 12:15:17 GMT" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "xAxis" : { + "type" : "category" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 6f7e723366..7c7e68a760 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { - "chart" : { - "type" : "column" + "legend" : { + "enabled" : "false" }, "title" : { "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - } - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, "series" : [ { - "name" : "Contributions", "dataLabels" : { - "enabled" : "true", "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, - "align" : "right", - "rotation" : -90, + "y" : 10, "color" : "#FFFFFF", + "enabled" : "true", + "rotation" : -90, "format" : "{point.y:.0f}", - "y" : 10 + "align" : "right" }, "data" : [ [ "Blog", - 1635 + 1636 ], [ "Perl", - 5485 + 5487 ], [ "Raku", - 3479 + 3481 ] - ] + ], + "name" : "Contributions" } ], - "legend" : { - "enabled" : "false" + "subtitle" : { + "text" : "Last updated at 2021-06-13 12:15:17 GMT" }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, - "subtitle" : { - "text" : "Last updated at 2021-06-13 11:22:26 GMT" + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } + }, + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index fb259c0843..4622b71092 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -2,48 +2,37 @@ "legend" : { "enabled" : "false" }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2021-06-13 11:22:26 GMT" - }, - "tooltip" : { - "followPointer" : "true", - "headerFormat" : "<span style=\"font-size:11px\"></span>", - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "title" : { + "text" : "Perl Weekly Challenge Language" }, "series" : [ { "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true", "data" : [ { - "drilldown" : "001", + "name" : "#001", "y" : 161, - "name" : "#001" + "drilldown" : "001" }, { - "name" : "#002", + "drilldown" : "002", "y" : 125, - "drilldown" : "002" + "name" : "#002" }, { - "name" : "#003", "drilldown" : "003", - "y" : 81 + "y" : 81, + "name" : "#003" }, { - "name" : "#004", "y" : 99, - "drilldown" : "004" + "drilldown" : "004", + "name" : "#004" }, { - "drilldown" : "005", + "name" : "#005", "y" : 78, - "name" : "#005" + "drilldown" : "005" }, { "drilldown" : "006", @@ -51,39 +40,39 @@ "name" : "#006" }, { - "y" : 64, "drilldown" : "007", + "y" : 64, "name" : "#007" }, { - "y" : 78, + "name" : "#008", "drilldown" : "008", - "name" : "#008" + "y" : 78 }, { - "name" : "#009", + "y" : 76, "drilldown" : "009", - "y" : 76 + "name" : "#009" }, { + "name" : "#010", "y" : 65, - "drilldown" : "010", - "name" : "#010" + "drilldown" : "010" }, { - "name" : "#011", "y" : 85, - "drilldown" : "011" + "drilldown" : "011", + "name" : "#011" }, { - "y" : 89, + "name" : "#012", "drilldown" : "012", - "name" : "#012" + "y" : 89 }, { - "y" : 85, + "name" : "#013", "drilldown" : "013", - "name" : "#013" + "y" : 85 }, { "y" : 101, @@ -91,8 +80,8 @@ "name" : "#014" }, { - "y" : 99, "drilldown" : "015", + "y" : 99, "name" : "#015" }, { @@ -101,14 +90,14 @@ "drilldown" : "016" }, { - "name" : "#017", + "y" : 84, "drilldown" : "017", - "y" : 84 + "name" : "#017" }, { - "name" : "#018", + "drilldown" : "018", "y" : 81, - "drilldown" : "018" + "name" : "#018" }, { "name" : "#019", @@ -116,19 +105,19 @@ "y" : 103 }, { - "y" : 101, + "name" : "#020", "drilldown" : "020", - "name" : "#020" + "y" : 101 }, { - "drilldown" : "021", "y" : 72, + "drilldown" : "021", "name" : "#021" }, { - "name" : "#022", "drilldown" : "022", - "y" : 68 + "y" : 68, + "name" : "#022" }, { "name" : "#023", @@ -136,14 +125,14 @@ "y" : 97 }, { - "name" : "#024", "y" : 74, - "drilldown" : "024" + "drilldown" : "024", + "name" : "#024" }, { "name" : "#025", - "y" : 59, - "drilldown" : "025" + "drilldown" : "025", + "y" : 59 }, { "y" : 74, @@ -156,24 +145,24 @@ "y" : 60 }, { - "y" : 80, + "name" : "#028", "drilldown" : "028", - "name" : "#028" + "y" : 80 }, { - "y" : 79, + "name" : "#029", "drilldown" : "029", - "name" : "#029" + "y" : 79 }, { "name" : "#030", - "drilldown" : "030", - "y" : 117 + "y" : 117, + "drilldown" : "030" }, { "name" : "#031", - "drilldown" : "031", - "y" : 89 + "y" : 89, + "drilldown" : "031" }, { "name" : "#032", @@ -181,9 +170,9 @@ "y" : 94 }, { - "y" : 110, + "name" : "#033", "drilldown" : "033", - "name" : "#033" + "y" : 110 }, { "y" : 64, @@ -191,9 +180,9 @@ "name" : "#034" }, { - "name" : "#035", + "drilldown" : "035", "y" : 64, - "drilldown" : "035" + "name" : "#035" }, { "drilldown" : "036", @@ -206,54 +195,54 @@ "drilldown" : "037" }, { - "drilldown" : "038", + "name" : "#038", "y" : 68, - "name" : "#038" + "drilldown" : "038" }, { - "name" : "#039", "drilldown" : "039", - "y" : 62 + "y" : 62, + "name" : "#039" }, { - "drilldown" : "040", + "name" : "#040", "y" : 73, - "name" : "#040" + "drilldown" : "040" }, { - "name" : "#041", "y" : 76, - "drilldown" : "041" + "drilldown" : "041", + "name" : "#041" }, { - "name" : "#042", "drilldown" : "042", - "y" : 92 + "y" : 92, + "name" : "#042" }, { + "name" : "#043", "drilldown" : "043", - "y" : 68, - "name" : "#043" + "y" : 68 }, { - "name" : "#044", "drilldown" : "044", - "y" : 85 + "y" : 85, + "name" : "#044" }, { - "drilldown" : "045", "y" : 96, + "drilldown" : "045", "name" : "#045" }, { - "y" : 87, "drilldown" : "046", + "y" : 87, "name" : "#046" }, { + "name" : "#047", "y" : 84, - "drilldown" : "047", - "name" : "#047" + "drilldown" : "047" }, { "name" : "#048", @@ -262,18 +251,18 @@ }, { "name" : "#049", - "y" : 89, - "drilldown" : "049" + "drilldown" : "049", + "y" : 89 }, { - "y" : 98, "drilldown" : "050", + "y" : 98, "name" : "#050" }, { - "drilldown" : "051", + "name" : "#051", "y" : 89, - "name" : "#051" + "drilldown" : "051" }, { "drilldown" : "052", @@ -281,14 +270,14 @@ "name" : "#052" }, { - "drilldown" : "053", + "name" : "#053", "y" : 101, - "name" : "#053" + "drilldown" : "053" }, { - "name" : "#054", + "y" : 103, "drilldown" : "054", - "y" : 103 + "name" : "#054" }, { "name" : "#055", @@ -296,9 +285,9 @@ "drilldown" : "055" }, { + "name" : "#056", "y" : 95, - "drilldown" : "056", - "name" : "#056" + "drilldown" : "056" }, { "drilldown" : "057", @@ -306,54 +295,54 @@ "name" : "#057" }, { - "drilldown" : "058", "y" : 69, + "drilldown" : "058", "name" : "#058" }, { - "drilldown" : "059", + "name" : "#059", "y" : 89, - "name" : "#059" + "drilldown" : "059" }, { - "drilldown" : "060", "y" : 85, + "drilldown" : "060", "name" : "#060" }, { + "name" : "#061", "drilldown" : "061", - "y" : 81, - "name" : "#061" + "y" : 81 }, { - "name" : "#062", + "y" : 58, "drilldown" : "062", - "y" : 58 + "name" : "#062" }, { "name" : "#063", - "drilldown" : "063", - "y" : 89 + "y" : 89, + "drilldown" : "063" }, { - "name" : "#064", "y" : 80, - "drilldown" : "064" + "drilldown" : "064", + "name" : "#064" }, < |
