diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-03-16 00:12:01 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-03-16 00:12:01 +0000 |
| commit | 24e63122ba071239bc964f16df34a87bdfa520e2 (patch) | |
| tree | 138eecb4f2fa9b9a60e43e4c2ee2f3c89495e8a6 | |
| parent | 47cc91ffed790a5373e7227d50cbf5e5c68f40ef (diff) | |
| download | perlweeklychallenge-club-24e63122ba071239bc964f16df34a87bdfa520e2.tar.gz perlweeklychallenge-club-24e63122ba071239bc964f16df34a87bdfa520e2.tar.bz2 perlweeklychallenge-club-24e63122ba071239bc964f16df34a87bdfa520e2.zip | |
- Added solutions by Laurent Rosenfeld.
| -rw-r--r-- | challenge-156/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-156/laurent-rosenfeld/perl/ch-1.pl | 17 | ||||
| -rw-r--r-- | challenge-156/laurent-rosenfeld/perl/ch-2.pl | 35 | ||||
| -rw-r--r-- | challenge-156/laurent-rosenfeld/raku/ch-1.raku | 8 | ||||
| -rw-r--r-- | challenge-156/laurent-rosenfeld/raku/ch-2.raku | 12 | ||||
| -rw-r--r-- | stats/pwc-current.json | 135 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 74 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1046 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 800 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 106 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 90 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 70 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 108 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 96 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 56 |
19 files changed, 1522 insertions, 1426 deletions
diff --git a/challenge-156/laurent-rosenfeld/blog.txt b/challenge-156/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..1313a91e40 --- /dev/null +++ b/challenge-156/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2022/03/perl-weekly-challenge-156-pernicious-and-weird-numbers.html diff --git a/challenge-156/laurent-rosenfeld/perl/ch-1.pl b/challenge-156/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..67f952ae10 --- /dev/null +++ b/challenge-156/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,17 @@ +use strict; +use warnings; +use feature "say"; + +my $count = 0; +my %primes = map { $_ => 1 } (2, 3, 5, 7, 11, 13, 17, 19); + +for my $n (2..100) { + my $bin = sprintf "%b", $n; + my $num_1 = 0; + $num_1 += $_ for split "", $bin; + if (exists $primes{$num_1}) { + $count++; + print "$n, " and next if $count < 10; + say $n and last; + } +} diff --git a/challenge-156/laurent-rosenfeld/perl/ch-2.pl b/challenge-156/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..b05fe35e2f --- /dev/null +++ b/challenge-156/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,35 @@ +use strict; +use warnings; +use feature "say"; + +sub sum { + my $sum = 0; + $sum += $_ for @_; + return $sum; +} + +sub combine { + my ($test, $comb, $div) = @_; + my @comb_so_far = @$comb; + my @divisors = @$div; + # say "(@comb_so_far) (@divisors)"; + return 0 if sum(@comb_so_far) == $test; + return 1 if scalar @divisors == 0; + for my $i (0..$#divisors) { + my $result = combine($test, [@comb_so_far, $divisors[$i]], + [@divisors[($i+1)..$#divisors]]); + return 0 if $result == 0; + } + return 1; +} + +sub is_weird { + my $n = shift; + my @divisors = grep {$n % $_ == 0} 1..($n/2); + return 0 if sum(@divisors) <= $n; + return combine($n, [], [@divisors]); +} + +for my $m (2..6000) { + say "Found $m" if is_weird($m); +} diff --git a/challenge-156/laurent-rosenfeld/raku/ch-1.raku b/challenge-156/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..d1b1b2d1a3 --- /dev/null +++ b/challenge-156/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1,8 @@ +my $count = 0; +for 2..* -> $n { + if $n.base(2).comb.sum.is-prime { + $count++; + print "$n, " and next if $count < 10; + say $n and last; + } +} diff --git a/challenge-156/laurent-rosenfeld/raku/ch-2.raku b/challenge-156/laurent-rosenfeld/raku/ch-2.raku new file mode 100644 index 0000000000..9221c102ab --- /dev/null +++ b/challenge-156/laurent-rosenfeld/raku/ch-2.raku @@ -0,0 +1,12 @@ +sub is-weird (Int $n where * > 0) { + my @divisors = grep {$n %% $_}, 1..$n/2; + return False if @divisors.sum <= $n; + for @divisors.combinations: 2..@divisors.elems -> $subset { + return False if $subset.sum == $n; + } + True; +} + +for 2..1000 -> $m { + say "Found $m" if is-weird($m); +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 7cca1ee75f..6af0bc88d6 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,75 +1,88 @@ { - "legend" : { - "enabled" : 0 - }, - "xAxis" : { - "type" : "category" - }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "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/>" - }, "subtitle" : { - "text" : "[Champions: 8] Last updated at 2022-03-15 23:57:44 GMT" + "text" : "[Champions: 9] Last updated at 2022-03-16 00:10:25 GMT" + }, + "xAxis" : { + "type" : "category" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } }, "series" : [ { - "name" : "The Weekly Challenge - 156", - "colorByPoint" : 1, "data" : [ { + "name" : "Dave Jacoby", "y" : 3, - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby" + "drilldown" : "Dave Jacoby" }, { - "y" : 3, + "name" : "James Smith", "drilldown" : "James Smith", - "name" : "James Smith" + "y" : 3 + }, + { + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld", + "y" : 5 }, { - "y" : 2, "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" + "drilldown" : "Mark Anderson", + "y" : 2 }, { - "y" : 2, "name" : "PokGoPun", - "drilldown" : "PokGoPun" + "drilldown" : "PokGoPun", + "y" : 2 }, { "name" : "Robert DiCicco", - "drilldown" : "Robert DiCicco", - "y" : 4 + "y" : 4, + "drilldown" : "Robert DiCicco" }, { "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 4 + "y" : 4, + "name" : "Roger Bell_West" }, { - "name" : "Ulrich Rieke", + "y" : 4, "drilldown" : "Ulrich Rieke", - "y" : 4 + "name" : "Ulrich Rieke" }, { - "drilldown" : "W. Luis Mochan", "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan", "y" : 3 } - ] + ], + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 156" } ], + "chart" : { + "type" : "column" + }, + "legend" : { + "enabled" : 0 + }, "drilldown" : { "series" : [ { "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -79,8 +92,7 @@ "Blog", 1 ] - ], - "name" : "Dave Jacoby" + ] }, { "name" : "James Smith", @@ -97,26 +109,46 @@ ] }, { + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "name" : "Mark Anderson", "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ], - "name" : "Mark Anderson" + ] }, { - "name" : "PokGoPun", "data" : [ [ "Perl", 2 ] ], - "id" : "PokGoPun" + "id" : "PokGoPun", + "name" : "PokGoPun" }, { + "id" : "Robert DiCicco", + "name" : "Robert DiCicco", "data" : [ [ "Perl", @@ -126,12 +158,9 @@ "Raku", 2 ] - ], - "id" : "Robert DiCicco", - "name" : "Robert DiCicco" + ] }, { - "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -142,10 +171,10 @@ 2 ] ], + "name" : "Roger Bell_West", "id" : "Roger Bell_West" }, { - "name" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -156,9 +185,11 @@ 2 ] ], - "id" : "Ulrich Rieke" + "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke" }, { + "name" : "W. Luis Mochan", "id" : "W. Luis Mochan", "data" : [ [ @@ -169,24 +200,16 @@ "Blog", 1 ] - ], - "name" : "W. Luis Mochan" + ] } ] }, + "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 + }, "title" : { "text" : "The Weekly Challenge - 156" - }, - "chart" : { - "type" : "column" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index c16b773804..08c2e1bda5 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" }, - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" }, "legend" : { "enabled" : "false" }, + "chart" : { + "type" : "column" + }, "series" : [ { - "dataLabels" : { - "enabled" : "true", - "y" : 10, - "format" : "{point.y:.0f}", - "rotation" : -90, - "color" : "#FFFFFF", - "align" : "right", - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, + "name" : "Contributions", "data" : [ [ "Blog", - 2350 + 2351 ], [ "Perl", - 7486 + 7488 ], [ "Raku", - 4499 + 4501 ] ], - "name" : "Contributions" + "dataLabels" : { + "enabled" : "true", + "rotation" : -90, + "y" : 10, + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "align" : "right", + "color" : "#FFFFFF", + "format" : "{point.y:.0f}" + } } ], "subtitle" : { - "text" : "Last updated at 2022-03-15 23:57:44 GMT" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" + "text" : "Last updated at 2022-03-16 00:10:25 GMT" }, - "chart" : { - "type" : "column" + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index e08de5909c..f1497385ff 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,66 +1,62 @@ { - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-03-15 23:57:44 GMT" - }, - "tooltip" : { - "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>" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "series" : [ { - "name" : "The Weekly Challenge Languages", "colorByPoint" : "true", "data" : [ { - "drilldown" : "001", "name" : "#001", + "drilldown" : "001", "y" : 161 }, { "drilldown" : "002", - "name" : "#002", - "y" : 125 + "y" : 125, + "name" : "#002" }, { - "y" : 83, + "name" : "#003", "drilldown" : "003", - "name" : "#003" + "y" : 83 }, { "y" : 99, - "name" : "#004", - "drilldown" : "004" + "drilldown" : "004", + "name" : "#004" }, { + "y" : 78, "drilldown" : "005", - "name" : "#005", - "y" : 78 + "name" : "#005" }, { - "drilldown" : "006", "name" : "#006", + "drilldown" : "006", "y" : 58 }, { - "y" : 64, "drilldown" : "007", + "y" : 64, "name" : "#007" }, { - "y" : 78, + "name" : "#008", "drilldown" : "008", - "name" : "#008" + "y" : 78 }, { - "y" : 76, "drilldown" : "009", + "y" : 76, "name" : "#009" }, { + "y" : 65, "drilldown" : "010", - "name" : "#010", - "y" : 65 + "name" : "#010" }, { "y" : 85, @@ -68,38 +64,38 @@ "name" : "#011" }, { - "y" : 89, "name" : "#012", + "y" : 89, "drilldown" : "012" }, { - "name" : "#013", + "y" : 85, "drilldown" : "013", - "y" : 85 + "name" : "#013" }, { - "y" : 101, + "name" : "#014", "drilldown" : "014", - "name" : "#014" + "y" : 101 }, { - "y" : 99, "name" : "#015", - "drilldown" : "015" + "drilldown" : "015", + "y" : 99 }, { + "drilldown" : "016", "y" : 71, - "name" : "#016", - "drilldown" : "016" + "name" : "#016" }, { - "drilldown" : "017", "name" : "#017", - "y" : 84 + "y" : 84, + "drilldown" : "017" }, { - "y" : 81, "name" : "#018", + "y" : 81, "drilldown" : "018" }, { @@ -108,59 +104,59 @@ "y" : 103 }, { - "y" : 101, + "name" : "#020", "drilldown" : "020", - "name" : "#020" + "y" : 101 }, { - "drilldown" : "021", "name" : "#021", - "y" : 72 + "y" : 72, + "drilldown" : "021" }, { + "y" : 68, "drilldown" : "022", - "name" : "#022", - "y" : 68 + "name" : "#022" }, { "drilldown" : "023", - "name" : "#023", - "y" : 97 + "y" : 97, + "name" : "#023" }, { "drilldown" : "024", - "name" : "#024", - "y" : 75 + "y" : 75, + "name" : "#024" }, { - "name" : "#025", + "y" : 59, "drilldown" : "025", - "y" : 59 + "name" : "#025" }, { - "drilldown" : "026", "name" : "#026", + "drilldown" : "026", "y" : 74 }, { - "drilldown" : "027", "name" : "#027", - "y" : 62 + "y" : 62, + "drilldown" : "027" }, { - "y" : 82, + "name" : "#028", "drilldown" : "028", - "name" : "#028" + "y" : 82 }, { + "y" : 81, "drilldown" : "029", - "name" : "#029", - "y" : 81 + "name" : "#029" }, { + "y" : 119, "drilldown" : "030", - "name" : "#030", - "y" : 119 + "name" : "#030" }, { "y" : 91, @@ -168,9 +164,9 @@ "name" : "#031" }, { - "y" : 96, + "name" : "#032", "drilldown" : "032", - "name" : "#032" + "y" : 96 }, { "name" : "#033", @@ -178,24 +174,24 @@ "y" : 112 }, { + "drilldown" : "034", "y" : 66, - "name" : "#034", - "drilldown" : "034" + "name" : "#034" }, { - "y" : 66, + "name" : "#035", "drilldown" : "035", - "name" : "#035" + "y" : 66 }, { "name" : "#036", - "drilldown" : "036", - "y" : 68 + "y" : 68, + "drilldown" : "036" }, { + "y" : 67, "drilldown" : "037", - "name" : "#037", - "y" : 67 + "name" : "#037" }, { "name" : "#038", @@ -203,29 +199,29 @@ "y" : 68 }, { - "name" : "#039", "drilldown" : "039", - "y" : 62 + "y" : 62, + "name" : "#039" }, { - "drilldown" : "040", "name" : "#040", + "drilldown" : "040", "y" : 73 }, { "drilldown" : "041", - "name" : "#041", - "y" : 76 + "y" : 76, + "name" : "#041" }, { + "y" : 92, "drilldown" : "042", - "name" : "#042", - "y" : 92 + "name" : "#042" }, { - "name" : "#043", + "y" : 68, "drilldown" : "043", - "y" : 68 + "name" : "#043" }, { "y" : 85, @@ -233,69 +229,69 @@ "name" : "#044" }, { - "drilldown" : "045", "name" : "#045", - "y" : 96 + "y" : 96, + "drilldown" : "045" }, { "drilldown" : "046", - "name" : "#046", - "y" : 87 + "y" : 87, + "name" : "#046" }, { + "drilldown" : "047", "y" : 84, - "name" : "#047", - "drilldown" : "047" + "name" : "#047" }, { - "y" : 108, + "name" : "#048", "drilldown" : "048", - "name" : "#048" + "y" : 108 }, { "name" : "#049", - "drilldown" : "049", - "y" : 89 + "y" : 89, + "drilldown" : "049" }, { + "name" : "#050", "y" : 98, - "drilldown" : "050", - "name" : "#050" + "drilldown" : "050" }, { - "y" : 89, + "name" : "#051", "drilldown" : "051", - "name" : "#051" + "y" : 89 }, { + "drilldown" : "052", "y" : 91, - "name" : "#052", - "drilldown" : "052" + "name" : "#052" }, { - "name" : "#053", + "y" : 101, "drilldown" : "053", - "y" : 101 + "name" : "#053" }, { - "y" : 103, "name" : "#054", + "y" : 103, "drilldown" : "054" }, { - "name" : "#055", "drilldown" : "055", - "y" : 88 + "y" : 88, + "name" : "#055" }, { - "name" : "#056", "drilldown" : "056", - "y" : 95 + "y" : 95, + "name" : "#056" }, { + "name" : "#057", "y" : 80, - "drilldown" : "057", - "name" : "#057" + "drilldown" : "057" }, { "name" : "#058", @@ -303,59 +299,59 @@ "y" : 69 }, { + "name" : "#059", "y" : 89, - "drilldown" : "059", - "name" : "#059" + "drilldown" : "059" }, { + "drilldown" : "060", "y" : 85, - "name" : "#060", - "drilldown" : "060" + "name" : "#060" }, { - "y" : 81, "name" : "#061", + "y" : 81, "drilldown" : "061" }, { - "y" : 58, "name" : "#062", + "y" : 58, "drilldown" : "062" }, { "y" : 89, - "name" : "#063", - "drilldown" : "063" + "drilldown" : "063", + "name" : "#063" }, { - "name" : "#064", "drilldown" : "064", - "y" : 80 + "y" : 80, + "name" : "#064" }, { - "y" : 73, "name" : "#065", - "drilldown" : "065" + "drilldown" : "065", + "y" : 73 }, { - "y" : 84, "name" : "#066", - "drilldown" : "066" + "drilldown" : "066", + "y" : 84 }, { + "drilldown" : "067", "y" : 90, - "name" : "#067", - "drilldown" : "067" + "name" : "#067" }, { + "y" : 75, "drilldown" : "068", - "name" : "#068", - "y" : 75 + "name" : "#068" }, { + "name" : "#069", "y" : 83, - "drilldown" : "069", - "name" : "#069" + "drilldown" : "069" }, { "name" : "#070", @@ -363,24 +359,24 @@ "y" : 93 }, { - "y" : 78, "name" : "#071", - "drilldown" : "071" + "drilldown" : "071", + "y" : 78 }, { - "y" : 112, "name" : "#072", - "drilldown" : "072" + "drilldown" : "072", + "y" : 112 }, { - "y" : 110, "drilldown" : "073", + "y" : 110, "name" : "#073" }, { - "drilldown" : "074", "name" : "#074", - "y" : 115 + "y" : 115, + "drilldown" : "074" }, { "y" : 115, @@ -388,24 +384,24 @@ "name" : "#075" }, { + "y" : 101, "drilldown" : "076", - "name" : "#076", - "y" : 101 + "name" : "#076" }, { "name" : "#077", - "drilldown" : "077", - "y" : 98 + "y" : 98, + "drilldown" : "077" }, { - "y" : 127, + "name" : "#078", "drilldown" : "078", - "name" : "#078" + "y" : 127 }, { + "drilldown" : "079", "y" : 122, - "name" : "#079", - "drilldown" : "079" + "name" : "#079" }, { "name" : "#080", @@ -413,18 +409,18 @@ "y" : 127 }, { + "y" : 114, "drilldown" : "081", - "name" : "#081", - "y" : 114 + "name" : "#081" }, { - "y" : 114, |
