diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-06-23 22:34:19 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-06-23 22:34:19 +0100 |
| commit | 5fd07d5e2157af1e42411b7e500663a776b6a5dc (patch) | |
| tree | 859dde9662ad6481e7235ae5d09d31242c0ed776 | |
| parent | 145e7e058af98fad8a5e5f0ed18e0d3bf7ca34c3 (diff) | |
| download | perlweeklychallenge-club-5fd07d5e2157af1e42411b7e500663a776b6a5dc.tar.gz perlweeklychallenge-club-5fd07d5e2157af1e42411b7e500663a776b6a5dc.tar.bz2 perlweeklychallenge-club-5fd07d5e2157af1e42411b7e500663a776b6a5dc.zip | |
- Added solutions by Laurent Rosenfeld.
| -rw-r--r-- | challenge-170/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-170/laurent-rosenfeld/perl/ch-1.pl | 31 | ||||
| -rw-r--r-- | challenge-170/laurent-rosenfeld/perl/ch-2.pl | 40 | ||||
| -rw-r--r-- | challenge-170/laurent-rosenfeld/raku/ch-1.raku | 1 | ||||
| -rw-r--r-- | challenge-170/laurent-rosenfeld/raku/ch-2.raku | 26 | ||||
| -rw-r--r-- | stats/pwc-current.json | 183 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 44 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 2276 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 338 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 94 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 108 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 106 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 98 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 26 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 574 |
19 files changed, 2182 insertions, 2060 deletions
diff --git a/challenge-170/laurent-rosenfeld/blog.txt b/challenge-170/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..550e661b45 --- /dev/null +++ b/challenge-170/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2022/06/perl-weekly-challenge-170-primorial-numbers-and-kronecker-product.html diff --git a/challenge-170/laurent-rosenfeld/perl/ch-1.pl b/challenge-170/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..a54143c72f --- /dev/null +++ b/challenge-170/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,31 @@ +use strict; +use warnings; +use feature "say"; + + +sub is_prime { + my $n = shift; + return 1 if $n == 2; + return 0 if $n % 2 == 0; + return 0 if $n == 1; + + my $p = 3; + my $sqrt = sqrt $n; + while ($p <= $sqrt) { + return 0 if $n % $p == 0; + $p += 2; + } + return 1; +} + +my ($i, $count, $product) = (1, 0, 1); +my @result; +while (1) { + $i++; + next unless is_prime $i; + $count++; + $product = $product * $i; + push @result, $product; + last if $count >= 10; +} +say "@result"; diff --git a/challenge-170/laurent-rosenfeld/perl/ch-2.pl b/challenge-170/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..99641c97c9 --- /dev/null +++ b/challenge-170/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,40 @@ +use strict; +use warnings; +use feature "say"; + +sub print_matrix { + for my $row (@_) { + print map sprintf(" %3d ", $_), @$row; + say ""; + } +} +sub cross_prod { + my @c = @{$_[0]}; + my @d = @{$_[1]}; + my @cross_res; + for my $i (@c) { + push @cross_res, $i * $_ for @d; + } + return [ @cross_res ] +} +sub kroneck_prod { + my @a = @{$_[0]}; + my @b = @{$_[1]}; + my @result; + for my $row_a (@a) { + for my $row_b (@b) { + push @result, cross_prod $row_a, $row_b; + } + } + print_matrix @result; +} +say "Test 1:"; +my @a = ([1, 2], [3, 4]); +my @b = ([5, 6], [7, 8]); +kroneck_prod \@a, \@b; +say "\nTest 2:"; +my @c = ([1, 2, 3], [2, 3, 4]); +my @d = ([5, 6], [7, 8], [9, 10]); +kroneck_prod \@c, \@d; +say "\nTest 3:"; +kroneck_prod \@d, \@c; diff --git a/challenge-170/laurent-rosenfeld/raku/ch-1.raku b/challenge-170/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..921f848763 --- /dev/null +++ b/challenge-170/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1 @@ +say [\*] (1..Inf).grep({.is-prime})[0..9]; diff --git a/challenge-170/laurent-rosenfeld/raku/ch-2.raku b/challenge-170/laurent-rosenfeld/raku/ch-2.raku new file mode 100644 index 0000000000..efc83d7df2 --- /dev/null +++ b/challenge-170/laurent-rosenfeld/raku/ch-2.raku @@ -0,0 +1,26 @@ +sub print_matrix (@m) { + for @m -> @row { + .fmt(" %3d ").print for @row; + say ""; + } +} +sub kroneck_prod (@a, @b) { + my @result; + for @a -> @row_a { + for @b -> @row_b { + push @result, [@row_a X* @row_b]; + } + } + print_matrix @result; +} + +say "test 1:"; +my @a = (1, 2; 3, 4); +my @b = [5, 6; 7, 8]; +kroneck_prod @a, @b; +say "\ntest 2:"; +my @c = (1, 2, 3; 2, 3, 4); +my @d = (5, 6; 7, 8; 9, 10); +kroneck_prod @c, @d; +say "\nTest 3:"; +kroneck_prod @d, @c; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index de5e90ebe2..a11ed6e556 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,61 +1,56 @@ { - "legend" : { - "enabled" : 0 - }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "type" : "category" - }, "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/>" }, + "title" : { + "text" : "The Weekly Challenge - 170" + }, "drilldown" : { "series" : [ { - "id" : "Cheok-Yin Fung", "data" : [ [ "Perl", 2 ] ], - "name" : "Cheok-Yin Fung" + "name" : "Cheok-Yin Fung", + "id" : "Cheok-Yin Fung" }, { "id" : "Dario Mazzeo", + "name" : "Dario Mazzeo", "data" : [ [ "Perl", 2 ] - ], - "name" : "Dario Mazzeo" + ] }, { - "name" : "Dave Jacoby", "data" : [ [ "Perl", 2 ] ], + "name" : "Dave Jacoby", "id" : "Dave Jacoby" }, { - "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], + "name" : "E. Choroba", "id" : "E. Choroba" }, { + "name" : "James Smith", "data" : [ [ "Perl", @@ -66,10 +61,27 @@ 1 ] ], - "name" : "James Smith", "id" : "James Smith" }, { + "id" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Laurent Rosenfeld" + }, + { "id" : "Luca Ferrari", "data" : [ [ @@ -95,26 +107,26 @@ }, { "id" : "Matthew Neleigh", + "name" : "Matthew Neleigh", "data" : [ [ "Perl", 2 ] - ], - "name" : "Matthew Neleigh" + ] }, { + "id" : "Niels van Dijke", "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ], - "id" : "Niels van Dijke" + ] }, { - "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -125,20 +137,19 @@ 1 ] ], - "name" : "Peter Campbell Smith" + "id" : "Peter Campbell Smith" }, { "id" : "Philippe Bricout", - "name" : "Philippe Bricout", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Philippe Bricout" }, { - "name" : "Robert DiCicco", "data" : [ [ "Perl", @@ -149,20 +160,20 @@ 1 ] ], + "name" : "Robert DiCicco", "id" : "Robert DiCicco" }, { - "name" : "Robert Ransbottom", "data" : [ [ "Raku", 2 ] ], + "name" : "Robert Ransbottom", "id" : "Robert Ransbottom" }, { - "id" : "Roger Bell_West", "name" : "Roger Bell_West", "data" : [ [ @@ -177,10 +188,10 @@ "Blog", 1 ] - ] + ], + "id" : "Roger Bell_West" }, { - "name" : "Stephen G Lynn", "data" : [ [ "Perl", @@ -195,6 +206,7 @@ 1 ] ], + "name" : "Stephen G Lynn", "id" : "Stephen G Lynn" }, { @@ -212,8 +224,6 @@ "name" : "Ulrich Rieke" }, { - "id" : "W. Luis Mochan", - "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -223,39 +233,28 @@ "Blog", 1 ] - ] + ], + "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan" } ] }, - "title" : { - "text" : "The Weekly Challenge - 170" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "legend" : { + "enabled" : 0 }, - "subtitle" : { - "text" : "[Champions: 17] Last updated at 2022-06-23 19:40:34 GMT" + "xAxis" : { + "type" : "category" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } + "chart" : { + "type" : "column" }, "series" : [ { - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 170", "data" : [ { "y" : 2, - "name" : "Cheok-Yin Fung", - "drilldown" : "Cheok-Yin Fung" + "drilldown" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung" }, { "name" : "Dario Mazzeo", @@ -263,24 +262,29 @@ "drilldown" : "Dario Mazzeo" }, { - "name" : "Dave Jacoby", "y" : 2, - "drilldown" : "Dave Jacoby" + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { "y" : 2, - "name" : "E. Choroba", - "drilldown" : "E. Choroba" + "drilldown" : "E. Choroba", + "name" : "E. Choroba" }, { - "y" : 3, "name" : "James Smith", - "drilldown" : "James Smith" + "drilldown" : "James Smith", + "y" : 3 + }, + { + "y" : 5, + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" }, { - "y" : 8, "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari" + "drilldown" : "Luca Ferrari", + "y" : 8 }, { "drilldown" : "Marton Polgar", @@ -289,43 +293,43 @@ }, { "name" : "Matthew Neleigh", - "y" : 2, - "drilldown" : "Matthew Neleigh" + "drilldown" : "Matthew Neleigh", + "y" : 2 }, { - "drilldown" : "Niels van Dijke", "y" : 2, + "drilldown" : "Niels van Dijke", "name" : "Niels van Dijke" }, { + "name" : "Peter Campbell Smith", "drilldown" : "Peter Campbell Smith", - "y" : 3, - "name" : "Peter Campbell Smith" + "y" : 3 }, { - "name" : "Philippe Bricout", + "drilldown" : "Philippe Bricout", "y" : 1, - "drilldown" : "Philippe Bricout" + "name" : "Philippe Bricout" }, { - "name" : "Robert DiCicco", "y" : 2, - "drilldown" : "Robert DiCicco" + "drilldown" : "Robert DiCicco", + "name" : "Robert DiCicco" }, { - "name" : "Robert Ransbottom", + "drilldown" : "Robert Ransbottom", "y" : 2, - "drilldown" : "Robert Ransbottom" + "name" : "Robert Ransbottom" }, { + "y" : 5, "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 5 + "name" : "Roger Bell_West" }, { "y" : 5, - "name" : "Stephen G Lynn", - "drilldown" : "Stephen G Lynn" + "drilldown" : "Stephen G Lynn", + "name" : "Stephen G Lynn" }, { "drilldown" : "Ulrich Rieke", @@ -333,11 +337,30 @@ "name" : "Ulrich Rieke" }, { + "name" : "W. Luis Mochan", "drilldown" : "W. Luis Mochan", - "y" : 3, - "name" : "W. Luis Mochan" + "y" : 3 } - ] + ], + "name" : "The Weekly Challenge - 170", + "colorByPoint" : 1 + } + ], + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" } - ] + }, + "subtitle" : { + "text" : "[Champions: 18] Last updated at 2022-06-23 21:25:29 GMT" + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 51023604af..8adaf24abf 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,4 +1,7 @@ { + "legend" : { + "enabled" : "false" + }, "xAxis" : { "labels" : { "style" : { @@ -8,23 +11,18 @@ }, "type" : "category" }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" - }, - "legend" : { - "enabled" : "false" - }, - "chart" : { - "type" : "column" + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } }, "series" : [ { + "name" : "Contributions", "dataLabels" : { - "rotation" : -90, "enabled" : "true", + "rotation" : -90, "format" : "{point.y:.0f}", "align" : "right", "y" : 10, @@ -34,30 +32,32 @@ "fontSize" : "13px" } }, - "name" : "Contributions", "data" : [ [ "Blog", - 2643 + 2644 ], [ "Perl", - 8273 + 8275 ], [ "Raku", - 4908 + 4910 ] ] } ], - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } + "chart" : { + "type" : "column" }, "subtitle" : { - "text" : "Last updated at 2022-06-23 19:40:34 GMT" + "text" : "Last updated at 2022-06-23 21:25:29 GMT" + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 388156b86f..4d9eb98e64 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,893 +1,9 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-06-23 19:40:34 GMT" - }, - "series" : [ - { - "colorByPoint" : "true", - "data" : [ - { - "drilldown" : "001", - "y" : 161, - "name" : "#001" - }, - { - "drilldown" : "002", - "name" : "#002", - "y" : 125 - }, - { - "drilldown" : "003", - "y" : 83, - "name" : "#003" - }, - { - "drilldown" : "004", - "y" : 99, - "name" : "#004" - }, - { - "name" : "#005", - "y" : 78, - "drilldown" : "005" - }, - { - "drilldown" : "006", - "name" : "#006", - "y" : 58 - }, - { - "drilldown" : "007", - "y" : 64, - "name" : "#007" - }, - { - "drilldown" : "008", - "name" : "#008", - "y" : 78 - }, - { - "drilldown" : "009", - "name" : "#009", - "y" : 76 - }, - { - "y" : 65, - "name" : "#010", - "drilldown" : "010" - }, - { - "name" : "#011", - "y" : 85, - "drilldown" : "011" - }, - { - "name" : "#012", - "y" : 89, - "drilldown" : "012" - }, - { - "y" : 85, - "name" : "#013", - "drilldown" : "013" - }, - { - "name" : "#014", - "y" : 101, - "drilldown" : "014" - }, - { - "y" : 99, - "name" : "#015", - "drilldown" : "015" - }, - { - "name" : "#016", - "y" : 71, - "drilldown" : "016" - }, - { - "drilldown" : "017", - "y" : 84, - "name" : "#017" - }, - { - "drilldown" : "018", - "y" : 81, - "name" : "#018" - }, - { - "name" : "#019", - "y" : 103, - "drilldown" : "019" - }, - { - "y" : 101, - "name" : "#020", - "drilldown" : "020" - }, - { - "drilldown" : "021", - "name" : "#021", - "y" : 72 - }, - { - "name" : "#022", - "y" : 68, - "drilldown" : "022" - }, - { - "name" : "#023", - "y" : 97, - "drilldown" : "023" - }, - { - "name" : "#024", - "y" : 75, - "drilldown" : "024" - }, - { - "drilldown" : "025", - "y" : 59, - "name" : "#025" - }, - { - "drilldown" : "026", - "y" : 74, - "name" : "#026" - }, - { - "drilldown" : "027", - "name" : "#027", - "y" : 62 - }, - { - "drilldown" : "028", - "name" : "#028", - "y" : 82 - }, - { - "name" : "#029", - "y" : 81, - "drilldown" : "029" - }, - { - "name" : "#030", - "y" : 119, - "drilldown" : "030" - }, - { - "name" : "#031", - "y" : 91, - "drilldown" : "031" - }, - { - "name" : "#032", - "y" : 96, - "drilldown" : "032" - }, - { - "y" : 112, - "name" : "#033", - "drilldown" : "033" - }, - { - "name" : "#034", - "y" : 66, - "drilldown" : "034" - }, - { - "drilldown" : "035", - "y" : 66, - "name" : "#035" - }, - { - "drilldown" : "036", - "name" : "#036", - "y" : 70 - }, - { - "y" : 69, - "name" : "#037", - "drilldown" : "037" - }, - { - "drilldown" : "038", - "name" : "#038", - "y" : 70 - }, - { - "y" : 64, - "name" : "#039", - "drilldown" : "039" - }, - { - "y" : 75, - "name" : "#040", - "drilldown" : "040" - }, - { - "y" : 78, - "name" : "#041", - "drilldown" : "041" - }, - { - "y" : 94, - "name" : "#042", - "drilldown" : "042" - }, - { - "drilldown" : "043", - "name" : "#043", - "y" : 70 - }, - { - "drilldown" : "044", - "name" : "#044", - "y" : 87 - }, - { - "name" : "#045", - "y" : 98, - "drilldown" : "045" - }, - { - "drilldown" : "046", - "y" : 89, - "name" : "#046" - }, - { - "drilldown" : "047", - "name" : "#047", - "y" : 86 - }, - { - "drilldown" : "048", - "name" : "#048", - "y" : 110 - }, - { - "y" : 91, - "name" : "#049", - "drilldown" : "049" - }, - { - "y" : 100, - "name" : "#050", - "drilldown" : "050" - }, - { - "y" : 91, - "name" : "#051", - "drilldown" : "051" - }, - { - "name" : "#052", - "y" : 93, - "drilldown" : "052" - }, - { - "y" : 103, - "name" : "#053", - "drilldown" : "053" - }, - { - "name" : "#054", - "y" : 105, - "drilldown" : "054" - }, - { - "y" : 90, - "name" : "#055", - "drilldown" : "055" - }, - { - "drilldown" : "056", - "name" : "#056", - "y" : 97 - }, - { - "drilldown" : "057", - "name" : "#057", - "y" : 82 - }, - { - "drilldown" : "058", - "name" : "#058", - "y" : 71 - }, - { - "drilldown" : "059", - "y" : 91, - "name" : "#059" - }, - { - "drilldown" : "060", - "y" : 87, - "name" : "#060" - }, - { - "name" : "#061", - "y" : 83, - "drilldown" : "061" - }, - { - "drilldown" : "062", - "name" : "#062", - "y" : 60 - }, - { - "y" : 91, - "name" : "#063", - "drilldown" : "063" - }, - { - "drilldown" : "064", - "y" : 82, - "name" : "#064" - }, - { - "y" : 75, - "name" : "#065", - "drilldown" : "065" - }, - { - "drilldown" : "066", - "name" : "#066", - "y" : 86 - }, - { - "drilldown" : "067", - "y" : 92, - "name" : "#067" - }, - { - "drilldown" : "068", - "y" : 77, - "name" : "#068" - }, - { - "drilldown" : "069", - "name" : "#069", - "y" : 85 - }, - { - "drilldown" : "070", - "name" : "#070", - "y" : 95 - }, - { - "drilldown" : "071", - "y" : 80, - "name" : "#071" - }, - { - "drilldown" : "072", - "name" : "#072", - "y" : 114 - }, - { - "name" : "#073", - "y" : 112, - "drilldown" : "073" - }, - { - "drilldown" : "074", - "y" : 117, - "name" : "#074" - }, - { - "name" : "#075", - "y" : 117, - "drilldown" : "075" - }, - { - "drilldown" : "076", - "name" : "#076", - "y" : 101 - }, - { - "y" : 100, - "name" : "#077", - "drilldown" : "077" - }, - { - "name" : "#078", - "y" : 127, - "drilldown" : "078" - }, - { - "y" : 122, - "name" : "#079", - "drilldown" : "079" - }, - { - "drilldown" : "080", - "name" : "#080", - "y" : 127 - }, - { - "drilldown" : "081", - "y" : 114, - "name" : "#081" - }, - { - "drilldown" : "082",< |
