diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-01-01 00:27:09 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-01-01 00:27:09 +0000 |
| commit | 3907c2e9b9b63acaa31122edd2c3b83a32227067 (patch) | |
| tree | 5d3dfe2c83c49a22b41ad43ee0f5c2598c79ff60 | |
| parent | 5fbf0805a1e040ab5c97538389ab40d88025bec5 (diff) | |
| download | perlweeklychallenge-club-3907c2e9b9b63acaa31122edd2c3b83a32227067.tar.gz perlweeklychallenge-club-3907c2e9b9b63acaa31122edd2c3b83a32227067.tar.bz2 perlweeklychallenge-club-3907c2e9b9b63acaa31122edd2c3b83a32227067.zip | |
- Added solutions by Arne Sommer.
| -rw-r--r-- | challenge-041/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-041/arne-sommer/perl6/attractive-numbers | 36 | ||||
| -rwxr-xr-x | challenge-041/arne-sommer/perl6/ch-1.p6 | 36 | ||||
| -rwxr-xr-x | challenge-041/arne-sommer/perl6/ch-2.p6 | 8 | ||||
| -rwxr-xr-x | challenge-041/arne-sommer/perl6/divisors | 33 | ||||
| -rwxr-xr-x | challenge-041/arne-sommer/perl6/leonardo | 8 | ||||
| -rw-r--r-- | stats/pwc-current.json | 121 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 58 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 308 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 894 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 82 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 56 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 52 |
16 files changed, 1016 insertions, 875 deletions
diff --git a/challenge-041/arne-sommer/blog.txt b/challenge-041/arne-sommer/blog.txt new file mode 100644 index 0000000000..72c65bb026 --- /dev/null +++ b/challenge-041/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/numbers.html diff --git a/challenge-041/arne-sommer/perl6/attractive-numbers b/challenge-041/arne-sommer/perl6/attractive-numbers new file mode 100755 index 0000000000..278d5bc263 --- /dev/null +++ b/challenge-041/arne-sommer/perl6/attractive-numbers @@ -0,0 +1,36 @@ +#! /usr/bin/env raku + +unit sub MAIN (Int $limit = 50, :$verbose); + +for 1 .. $limit -> $current +{ + my @divisors = divisors($current); + my $elems = @divisors.elems; + say ": $current: Divisors: { divisors($current) } Elements: $elems" if $verbose; + say "$current is an attractive number (with divisors: @divisors[])" if $elems.is-prime; +} + +sub divisors (Int $number is copy) +{ + return (1) if $number == 1; + return ($number) if $number.is-prime; + + my @divisors; + + for 2 .. ($number -1) -> $candidate + { + next unless $candidate.is-prime; + + while ($number %% $candidate) + { + @divisors.push: $candidate; + $number div= $candidate; + } + if $number.is-prime + { + @divisors.push: $number; + last; + } + } + return @divisors; +} diff --git a/challenge-041/arne-sommer/perl6/ch-1.p6 b/challenge-041/arne-sommer/perl6/ch-1.p6 new file mode 100755 index 0000000000..278d5bc263 --- /dev/null +++ b/challenge-041/arne-sommer/perl6/ch-1.p6 @@ -0,0 +1,36 @@ +#! /usr/bin/env raku + +unit sub MAIN (Int $limit = 50, :$verbose); + +for 1 .. $limit -> $current +{ + my @divisors = divisors($current); + my $elems = @divisors.elems; + say ": $current: Divisors: { divisors($current) } Elements: $elems" if $verbose; + say "$current is an attractive number (with divisors: @divisors[])" if $elems.is-prime; +} + +sub divisors (Int $number is copy) +{ + return (1) if $number == 1; + return ($number) if $number.is-prime; + + my @divisors; + + for 2 .. ($number -1) -> $candidate + { + next unless $candidate.is-prime; + + while ($number %% $candidate) + { + @divisors.push: $candidate; + $number div= $candidate; + } + if $number.is-prime + { + @divisors.push: $number; + last; + } + } + return @divisors; +} diff --git a/challenge-041/arne-sommer/perl6/ch-2.p6 b/challenge-041/arne-sommer/perl6/ch-2.p6 new file mode 100755 index 0000000000..13bd98e06b --- /dev/null +++ b/challenge-041/arne-sommer/perl6/ch-2.p6 @@ -0,0 +1,8 @@ +#! /usr/bin/env raku + +my $leonardo := (1, 1, { $^a + $^b +1 } ... Inf); + +unit sub MAIN ($limit = 20); + +say "$_: $leonardo[$_]" for ^$limit; + diff --git a/challenge-041/arne-sommer/perl6/divisors b/challenge-041/arne-sommer/perl6/divisors new file mode 100755 index 0000000000..e0c3e7fb9d --- /dev/null +++ b/challenge-041/arne-sommer/perl6/divisors @@ -0,0 +1,33 @@ +#! /usr/bin/env raku + +unit sub MAIN (Int $limit = 50); + +for 1 .. $limit -> $current +{ + say "$current: with divisors: { divisors($current) }"; +} + +sub divisors (Int $number is copy) +{ + return (1) if $number == 1; + return ($number) if $number.is-prime; + + my @divisors; + + for 2 .. ($number -1) -> $candidate + { + next unless $candidate.is-prime; + + while ($number %% $candidate) + { + @divisors.push: $candidate; + $number div= $candidate; + } + if $number.is-prime + { + @divisors.push: $number; + last; + } + } + return @divisors; +} diff --git a/challenge-041/arne-sommer/perl6/leonardo b/challenge-041/arne-sommer/perl6/leonardo new file mode 100755 index 0000000000..13bd98e06b --- /dev/null +++ b/challenge-041/arne-sommer/perl6/leonardo @@ -0,0 +1,8 @@ +#! /usr/bin/env raku + +my $leonardo := (1, 1, { $^a + $^b +1 } ... Inf); + +unit sub MAIN ($limit = 20); + +say "$_: $leonardo[$_]" for ^$limit; + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 7792fac14e..bf71825d79 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,27 +1,26 @@ { - "subtitle" : { - "text" : "[Champions: 10] Last updated at 2019-12-31 19:33:46 GMT" - }, - "chart" : { - "type" : "column" - }, "series" : [ { "name" : "Perl Weekly Challenge - 041", "data" : [ { - "name" : "Andrezgz", "drilldown" : "Andrezgz", + "name" : "Andrezgz", "y" : 2 }, { + "y" : 3, + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer" + }, + { "y" : 2, - "drilldown" : "E. Choroba", - "name" : "E. Choroba" + "name" : "E. Choroba", + "drilldown" : "E. Choroba" }, { - "drilldown" : "Javier Luque", "name" : "Javier Luque", + "drilldown" : "Javier Luque", "y" : 5 }, { @@ -30,19 +29,19 @@ "y" : 2 }, { - "drilldown" : "Kivanc Yazan", "name" : "Kivanc Yazan", + "drilldown" : "Kivanc Yazan", "y" : 2 }, { - "name" : "Roger Bell West", "drilldown" : "Roger Bell West", + "name" : "Roger Bell West", "y" : 4 }, { - "y" : 2, + "name" : "Simon Proctor", "drilldown" : "Simon Proctor", - "name" : "Simon Proctor" + "y" : 2 }, { "name" : "Ulrich Rieke", @@ -51,50 +50,66 @@ }, { "y" : 2, - "name" : "Walt Mankowski", - "drilldown" : "Walt Mankowski" + "drilldown" : "Walt Mankowski", + "name" : "Walt Mankowski" }, { "y" : 2, - "name" : "Wanderdoc", - "drilldown" : "Wanderdoc" + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc" } ], "colorByPoint" : 1 } ], - "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" + } }, - "legend" : { - "enabled" : 0 + "subtitle" : { + "text" : "[Champions: 11] Last updated at 2020-01-01 00:26:18 GMT" + }, + "xAxis" : { + "type" : "category" }, "drilldown" : { "series" : [ { - "name" : "Andrezgz", - "id" : "Andrezgz", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Andrezgz", + "id" : "Andrezgz" + }, + { + "name" : "Arne Sommer", + "data" : [ + [ + "Perl 6", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Arne Sommer" }, { "name" : "E. Choroba", - "id" : "E. Choroba", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "E. Choroba" }, { - "name" : "Javier Luque", "data" : [ [ "Perl 5", @@ -109,6 +124,7 @@ 1 ] ], + "name" : "Javier Luque", "id" : "Javier Luque" }, { @@ -122,17 +138,17 @@ "name" : "Jo Christian Oterhals" }, { - "name" : "Kivanc Yazan", "data" : [ [ "Perl 5", 2 ] ], + "name" : "Kivanc Yazan", "id" : "Kivanc Yazan" }, { - "name" : "Roger Bell West", + "id" : "Roger Bell West", "data" : [ [ "Perl 5", @@ -143,19 +159,20 @@ 2 ] ], - "id" : "Roger Bell West" + "name" : "Roger Bell West" }, { - "name" : "Simon Proctor", "data" : [ [ "Perl 6", 2 ] ], + "name" : "Simon Proctor", "id" : "Simon Proctor" }, { + "id" : "Ulrich Rieke", "name" : "Ulrich Rieke", "data" : [ [ @@ -166,47 +183,49 @@ "Perl 6", 2 ] - ], - "id" : "Ulrich Rieke" + ] }, { + "id" : "Walt Mankowski", + "name" : "Walt Mankowski", "data" : [ [ "Perl 5", 2 ] - ], - "id" : "Walt Mankowski", - "name" : "Walt Mankowski" + ] }, { + "name" : "Wanderdoc", "data" : [ [ "Perl 5", 2 ] ], - "id" : "Wanderdoc", - "name" : "Wanderdoc" + "id" : "Wanderdoc" } ] }, "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 + "enabled" : 1, + "format" : "{point.y}" + } } }, - "xAxis" : { - "type" : "category" + "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" - } + "chart" : { + "type" : "column" + }, + "legend" : { + "enabled" : 0 }, "title" : { "text" : "Perl Weekly Challenge - 041" diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index d5475eae8e..9e60e108ba 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,17 +1,22 @@ { - "subtitle" : { - "text" : "Last updated at 2019-12-31 19:34:00 GMT" + "legend" : { + "enabled" : "false" }, - "chart" : { - "type" : "column" + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + }, + "type" : "category" }, "series" : [ { - "name" : "Contributions", "data" : [ [ "Blog", - 437 + 438 ], [ "Perl 5", @@ -19,45 +24,40 @@ ], [ "Perl 6", - 1002 + 1004 ] ], "dataLabels" : { - "y" : 10, - "rotation" : -90, "color" : "#FFFFFF", + "y" : 10, "align" : "right", - "enabled" : "true", "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, - "format" : "{point.y:.0f}" - } + "format" : "{point.y:.0f}", + "rotation" : -90, + "enabled" : "true" + }, + "name" : "Contributions" } ], - "title" : { - "text" : "Perl Weekly Challenge Contributions - 2019" - }, - "legend" : { - "enabled" : "false" - }, - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" - }, "yAxis" : { + "min" : 0, "title" : { "text" : null - }, - "min" : 0 + } + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions - 2019" }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "Last updated at 2020-01-01 00:27:02 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index d22fc798ec..f873acf3ba 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,15 +1,43 @@ { + "xAxis" : { + "type" : "category" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, "legend" : { "enabled" : "false" }, + "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/>" + }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-01-01 00:27:02 GMT" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "series" : [ { "name" : "Perl Weekly Challenge Languages", "data" : [ { - "name" : "#001", "y" : 140, - "drilldown" : "001" + "drilldown" : "001", + "name" : "#001" }, { "drilldown" : "002", @@ -17,29 +45,29 @@ "name" : "#002" }, { - "name" : "#003", + "y" : 71, "drilldown" : "003", - "y" : 71 + "name" : "#003" }, { - "name" : "#004", "drilldown" : "004", - "y" : 91 + "y" : 91, + "name" : "#004" }, { - "drilldown" : "005", + "name" : "#005", "y" : 71, - "name" : "#005" + "drilldown" : "005" }, { - "drilldown" : "006", + "name" : "#006", "y" : 48, - "name" : "#006" + "drilldown" : "006" }, { + "name" : "#007", "y" : 56, - "drilldown" : "007", - "name" : "#007" + "drilldown" : "007" }, { "y" : 70, @@ -47,9 +75,9 @@ "name" : "#008" }, { + "name" : "#009", "drilldown" : "009", - "y" : 68, - "name" : "#009" + "y" : 68 }, { "y" : 60, @@ -57,29 +85,29 @@ "name" : "#010" }, { - "name" : "#011", + "y" : 79, "drilldown" : "011", - "y" : 79 + "name" : "#011" }, { - "name" : "#012", "y" : 83, - "drilldown" : "012" + "drilldown" : "012", + "name" : "#012" }, { - "y" : 76, "drilldown" : "013", + "y" : 76, "name" : "#013" }, { - "name" : "#014", + "y" : 96, "drilldown" : "014", - "y" : 96 + "name" : "#014" }, { - "name" : "#015", + "drilldown" : "015", "y" : 93, - "drilldown" : "015" + "name" : "#015" }, { "drilldown" : "016", @@ -87,9 +115,9 @@ "name" : "#016" }, { + "name" : "#017", "drilldown" : "017", - "y" : 79, - "name" : "#017" + "y" : 79 }, { "name" : "#018", @@ -97,14 +125,14 @@ "drilldown" : "018" }, { - "drilldown" : "019", + "name" : "#019", "y" : 95, - "name" : "#019" + "drilldown" : "019" }, { - "name" : "#020", + "y" : 95, "drilldown" : "020", - "y" : 95 + "name" : "#020" }, { "drilldown" : "021", @@ -112,59 +140,59 @@ "name" : "#021" }, { + "name" : "#022", "y" : 63, - "drilldown" : "022", - "name" : "#022" + "drilldown" : "022" }, { "name" : "#023", - "drilldown" : "023", - "y" : 91 + "y" : 91, + "drilldown" : "023" }, { - "y" : 70, "drilldown" : "024", + "y" : 70, "name" : "#024" }, { "name" : "#025", - "y" : 55, - "drilldown" : "025" + "drilldown" : "025", + "y" : 55 }, { - "name" : "#026", "y" : 70, - "drilldown" : "026" + "drilldown" : "026", + "name" : "#026" }, { + "name" : "#027", "y" : 58, - "drilldown" : "027", - "name" : "#027" + "drilldown" : "027" }, { "name" : "#028", - "drilldown" : "028", - "y" : 78 + "y" : 78, + "drilldown" : "028" }, { - "drilldown" : "029", + "name" : "#029", "y" : 77, - "name" : "#029" + "drilldown" : "029" }, { - "name" : "#030", "y" : 115, - "drilldown" : "030" + "drilldown" : "030", + "name" : "#030" }, { "name" : "#031", - "drilldown" : "031", - "y" : 87 + "y" : 87, + "drilldown" : "031" }, { - "name" : "#032", + "drilldown" : "032", "y" : 92, - "drilldown" : "032" + "name" : "#032" }, { "name" : "#033", @@ -177,29 +205,29 @@ "drilldown" : "034" }, { - "name" : "#035", + "y" : 60, "drilldown" : "035", - "y" : 60 + "name" : "#035" }, { - "name" : "#036", + "drilldown" : "036", "y" : 61, - "drilldown" : "036" + "name" : "#036" }, { - "drilldown" : "037", + "name" : "#037", "y" : 63, - "name" : "#037" + "drilldown" : "037" }, { + "name" : "#038", "drilldown" : "038", - "y" : 61, - "name" : "#038" + "y" : 61 }, { - "drilldown" : "039", + "name" : "#039", "y" : 60, - "name" : "#039" + "drilldown" : "039" }, { "y" : 65, @@ -207,32 +235,22 @@ "name" : "#040" }, { - "name" : "#041", - "y" : 27, - "drilldown" : "041" + "y" : 30, + "drilldown" : "041", + "name" : "#041" } ], "colorByPoint" : "true" } ], - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, "title" : { "text" : "Perl Weekly Challenge Language" }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-12-31 19:34:00 GMT" - }, "drilldown" : { "series" : [ { + "name" : "001", + "id" : "001", "data" : [ [ "Perl 5", @@ -246,9 +264,7 @@ "Blog", 11 ] - ], - "id" : "001", - "name" : "001" + ] }, { "name" : "002", @@ -269,8 +285,6 @@ ] }, { - "name" : "003", - "id" : "003", "data" : [ [ "Perl 5", @@ -284,11 +298,13 @@ "Blog", 9 ] - ] + ], + "id" : "003", + "name" : "003" }, { - "id" : "004", "name" : "004", + "id" : "004", "data" : [ [ "Perl 5", @@ -341,8 +357,8 @@ ] }, { - "id" : "007", "name" : "007", + "id" : "007", "data" : [ [ "Perl 5", @@ -359,8 +375,8 @@ ] }, { - "id" : "008", "name" : "008", + "id" : "008", "data" : [ [ "Perl 5", @@ -395,6 +411,8 @@ ] }, { + "id" : "010", + "name" : "010", "data" : [ [ "Perl 5", @@ -408,9 +426,7 @@ "Blog", 11 ] - ], - "id" : "010", - "name" : "010" + ] }, { "id" : "011", @@ -449,8 +465,6 @@ ] }, { - "id" : "013", - "name" : "013", "data" : [ [ "Perl 5", @@ -464,7 +478,9 @@ "Blog", 13 ] - ] + ], + "name" : "013", + "id" : "013" }, { "data" : [ @@ -503,8 +519,8 @@ ] }, { - "name" : "016", "id" : "016", + "name" : "016", "data" : [ [ "Perl 5", @@ -539,8 +555,8 @@ ] }, { - "id" : "018", "name" : "018", + "id" : "018", "data" : [ [ "Perl 5", @@ -557,6 +573,8 @@ ] }, { + "id" : "019", + "name" : "019", "data" : [ [ "Perl 5", @@ -570,11 +588,11 @@ "Blog", 13 ] - ], - "name" : "019", - "id" : "019" + ] }, { + "id" : "020", + "name" : "020", "data" : [ [ "Perl 5", @@ -588,13 +606,9 @@ "Blog", 13 ] - ], - "id" : "020", - "name" : "020" + ] }, { - "name" : "021", - "id" : "021", "data" : [ [ "Perl 5", @@ -608,11 +622,11 @@ "Blog", 10 ] - ] + ], + "id" : "021", + "name" : "021" }, { - "id" : "022", - "name" : "022", "data" : [ [ "Perl 5", @@ -626,9 +640,13 @@ "Blog", 10 ] - ] + ], + "id" : "022", + "name" : "022" }, { + "name" : "023", + "id" : "023", "data" : [ [ "Perl 5", @@ -642,13 +660,9 @@ "Blog", 12 ] - ], - "id" : "023", - "name" : "023" + ] }, { - "name" : "024", - "id" : "024", "data" : [ [ "Perl 5", @@ -662,7 +676,9 @@ "Blog", 11 ] - ] + ], + "id" : "024", + "name" : "024" }, { "data" : [ @@ -679,12 +695,12 @@ 12 ] ], - "id" : "025", - "name" : "025" + "name" : "025", + "id" : "025" }, { - "name" : "026", "id" : "026", + "name" : "026", "data" : [ [ "Perl 5", @@ -715,10 +731,12 @@ 9 ] ], - "name" : "027", - "id" : "027" + "id" : "027", + "name" : "027"< |
