diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-07-05 20:27:34 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-07-05 20:27:34 +0100 |
| commit | d9c661b4804d0d8677bb1a52928468a5bbdb69b2 (patch) | |
| tree | 65e2be620fc9c7d6345919f1c056208ca8a0512e | |
| parent | 342f91d2a399b2479096619a32de666787eb99af (diff) | |
| download | perlweeklychallenge-club-d9c661b4804d0d8677bb1a52928468a5bbdb69b2.tar.gz perlweeklychallenge-club-d9c661b4804d0d8677bb1a52928468a5bbdb69b2.tar.bz2 perlweeklychallenge-club-d9c661b4804d0d8677bb1a52928468a5bbdb69b2.zip | |
- Perl solution to the task "Prime Partition" of week 172.
| -rwxr-xr-x | challenge-172/mohammad-anwar/perl/ch-1.pl | 59 | ||||
| -rw-r--r-- | stats/pwc-current.json | 197 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 56 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 2350 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 756 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 58 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 132 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 106 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 62 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 84 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 114 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 112 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 580 |
15 files changed, 2441 insertions, 2367 deletions
diff --git a/challenge-172/mohammad-anwar/perl/ch-1.pl b/challenge-172/mohammad-anwar/perl/ch-1.pl new file mode 100755 index 0000000000..5e0e9c7731 --- /dev/null +++ b/challenge-172/mohammad-anwar/perl/ch-1.pl @@ -0,0 +1,59 @@ +#!/usr/bin/perl + +=head1 + +Week 172: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-172 + +Task #1: Prime Partition + + You are given two positive integers, $m and $n. + + Write a script to find out the Prime Partition of the given + number. No duplicates allowed. + +=cut + +use v5.36; +use Test2::V0; +use experimental qw(builtin); +use builtin qw(true false); +use Algorithm::Combinatorics qw(combinations); + +is prime_partition(18, 2), [5, 13], 'Example 1'; +is prime_partition(19, 3), [3, 5, 11], 'Example 2'; + +done_testing; + +# +# +# METHODS + +sub is_prime($n) { + return false if ($n == 1); + do { return false unless $n % $_ } for (2 .. sqrt $n); + return true; +} + +sub prime_upto($m) { + my @p = (); + my $i = 1; + while ($i <= $m) { + $i += 2; + next unless is_prime $i; + push @p, $i; + } + + return \@p; +} + +sub prime_partition($m, $n) { + my $primes = prime_upto $m; + foreach my $combination (combinations($primes, $n)) { + my $sum = 0; + $sum += $_ for @$combination; + return $combination if $sum == $m; + } + return; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 6fa00a7e91..e05dc7cb89 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,9 +1,90 @@ { + "subtitle" : { + "text" : "[Champions: 10] Last updated at 2022-07-05 19:26:01 GMT" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, + "chart" : { + "type" : "column" + }, + "series" : [ + { + "name" : "The Weekly Challenge - 172", + "colorByPoint" : 1, + "data" : [ + { + "name" : "Kjetil Skotheim", + "y" : 2, + "drilldown" : "Kjetil Skotheim" + }, + { + "name" : "Laurent Rosenfeld", + "y" : 5, + "drilldown" : "Laurent Rosenfeld" + }, + { + "name" : "Mark Anderson", + "y" : 2, + "drilldown" : "Mark Anderson" + }, + { + "name" : "Mohammad S Anwar", + "y" : 1, + "drilldown" : "Mohammad S Anwar" + }, + { + "drilldown" : "Philippe Bricout", + "name" : "Philippe Bricout", + "y" : 1 + }, + { + "drilldown" : "PokGoPun", + "name" : "PokGoPun", + "y" : 2 + }, + { + "drilldown" : "Robert DiCicco", + "name" : "Robert DiCicco", + "y" : 3 + }, + { + "drilldown" : "Roger Bell_West", + "y" : 4, + "name" : "Roger Bell_West" + }, + { + "drilldown" : "W. Luis Mochan", + "y" : 3, + "name" : "W. Luis Mochan" + }, + { + "y" : 2, + "name" : "Walt Mankowski", + "drilldown" : "Walt Mankowski" + } + ] + } + ], + "tooltip" : { + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "followPointer" : 1 + }, + "legend" : { + "enabled" : 0 + }, "drilldown" : { "series" : [ { @@ -31,18 +112,28 @@ 1 ] ], - "id" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld" + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld" }, { + "name" : "Mark Anderson", "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] + ] + }, + { + "data" : [ + [ + "Perl", + 1 + ] ], - "name" : "Mark Anderson" + "name" : "Mohammad S Anwar", + "id" : "Mohammad S Anwar" }, { "data" : [ @@ -51,20 +142,21 @@ 1 ] ], - "id" : "Philippe Bricout", - "name" : "Philippe Bricout" + "name" : "Philippe Bricout", + "id" : "Philippe Bricout" }, { + "name" : "PokGoPun", "id" : "PokGoPun", "data" : [ [ "Perl", 2 ] - ], - "name" : "PokGoPun" + ] }, { + "id" : "Robert DiCicco", "name" : "Robert DiCicco", "data" : [ [ @@ -75,12 +167,11 @@ "Raku", 1 ] - ], - "id" : "Robert DiCicco" + ] }, { - "name" : "Roger Bell_West", "id" : "Roger Bell_West", + "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -93,7 +184,6 @@ ] }, { - "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -104,100 +194,25 @@ 1 ] ], - "id" : "W. Luis Mochan" + "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan" }, { - "name" : "Walt Mankowski", "data" : [ [ "Perl", 2 ] ], + "name" : "Walt Mankowski", "id" : "Walt Mankowski" } ] }, - "xAxis" : { - "type" : "category" - }, - "legend" : { - "enabled" : 0 - }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 172", - "data" : [ - { - "name" : "Kjetil Skotheim", - "y" : 2, - "drilldown" : "Kjetil Skotheim" - }, - { - "y" : 5, - "drilldown" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld" - }, - { - "y" : 2, - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson" - }, - { - "drilldown" : "Philippe Bricout", - "y" : 1, - "name" : "Philippe Bricout" - }, - { - "drilldown" : "PokGoPun", - "y" : 2, - "name" : "PokGoPun" - }, - { - "y" : 3, - "drilldown" : "Robert DiCicco", - "name" : "Robert DiCicco" - }, - { - "y" : 4, - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West" - }, - { - "name" : "W. Luis Mochan", - "drilldown" : "W. Luis Mochan", - "y" : 3 - }, - { - "name" : "Walt Mankowski", - "drilldown" : "Walt Mankowski", - "y" : 2 - } - ] - } - ], - "subtitle" : { - "text" : "[Champions: 9] Last updated at 2022-07-05 18:21:13 GMT" - }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", - "followPointer" : 1, - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" - }, "title" : { "text" : "The Weekly Challenge - 172" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } + "xAxis" : { + "type" : "category" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index c375c07426..e90afcb6f9 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,16 +1,4 @@ { - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Last updated at 2022-07-05 18:21:13 GMT" - }, "series" : [ { "data" : [ @@ -20,7 +8,7 @@ ], [ "Perl", - 8364 + 8365 ], [ "Raku", @@ -28,36 +16,48 @@ ] ], "dataLabels" : { - "y" : 10, + "align" : "right", "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, + "rotation" : -90, "format" : "{point.y:.0f}", - "enabled" : "true", + "y" : 10, "color" : "#FFFFFF", - "rotation" : -90, - "align" : "right" + "enabled" : "true" }, "name" : "Contributions" } ], + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "Last updated at 2022-07-05 19:26:01 GMT" + }, "legend" : { "enabled" : "false" }, "xAxis" : { + "type" : "category", "labels" : { "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" } - }, - "type" : "category" - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null } + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 518e09bf42..c3cfdcaff0 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,882 +1,15 @@ { - "series" : [ - { - "data" : [ - { - "y" : 161, - "drilldown" : "001", - "name" : "#001" - }, - { - "name" : "#002", - "y" : 125, - "drilldown" : "002" - }, - { - "name" : "#003", - "y" : 83, - "drilldown" : "003" - }, - { - "name" : "#004", - "y" : 99, - "drilldown" : "004" - }, - { - "y" : 78, - "drilldown" : "005", - "name" : "#005" - }, - { - "name" : "#006", - "drilldown" : "006", - "y" : 58 - }, - { - "drilldown" : "007", - "y" : 65, - "name" : "#007" - }, - { - "y" : 78, - "drilldown" : "008", - "name" : "#008" - }, - { - "name" : "#009", - "drilldown" : "009", - "y" : 76 - }, - { - "y" : 65, - "drilldown" : "010", - "name" : "#010" - }, - { - "drilldown" : "011", - "y" : 85, - "name" : "#011" - }, - { - "name" : "#012", - "drilldown" : "012", - "y" : 89 - }, - { - "y" : 85, - "drilldown" : "013", - "name" : "#013" - }, - { - "name" : "#014", - "drilldown" : "014", - "y" : 101 - }, - { - "name" : "#015", - "y" : 99, - "drilldown" : "015" - }, - { - "name" : "#016", - "y" : 71, - "drilldown" : "016" - }, - { - "name" : "#017", - "y" : 84, - "drilldown" : "017" - }, - { - "y" : 81, - "drilldown" : "018", - "name" : "#018" - }, - { - "y" : 103, - "drilldown" : "019", - "name" : "#019" - }, - { - "drilldown" : "020", - "y" : 101, - "name" : "#020" - }, - { - "y" : 72, - "drilldown" : "021", - "name" : "#021" - }, - { - "y" : 68, - "drilldown" : "022", - "name" : "#022" - }, - { - "y" : 97, - "drilldown" : "023", - "name" : "#023" - }, - { - "y" : 75, - "drilldown" : "024", - "name" : "#024" - }, - { - "name" : "#025", - "y" : 59, - "drilldown" : "025" - }, - { - "name" : "#026", - "y" : 74, - "drilldown" : "026" - }, - { - "name" : "#027", - "drilldown" : "027", - "y" : 62 - }, - { - "y" : 82, - "drilldown" : "028", - "name" : "#028" - }, - { - "name" : "#029", - "y" : 81, - "drilldown" : "029" - }, - { - "name" : "#030", - "y" : 119, - "drilldown" : "030" - }, - { - "name" : "#031", - "drilldown" : "031", - "y" : 91 - }, - { - "y" : 96, - "drilldown" : "032", - "name" : "#032" - }, - { - "name" : "#033", - "y" : 112, - "drilldown" : "033" - }, - { - "name" : "#034", - "y" : 66, - "drilldown" : "034" - }, - { - "name" : "#035", - "y" : 66, - "drilldown" : "035" - }, - { - "y" : 70, - "drilldown" : "036", - "name" : "#036" - }, - { - "name" : "#037", - "y" : 69, - "drilldown" : "037" - }, - { - "drilldown" : "038", - "y" : 70, - "name" : "#038" - }, - { - "name" : "#039", - "drilldown" : "039", - "y" : 64 - }, - { - "y" : 75, - "drilldown" : "040", - "name" : "#040" - }, - { - "name" : "#041", - "drilldown" : "041", - "y" : 78 - }, - { - "y" : 94, - "drilldown" : "042", - "name" : "#042" - }, - { - "drilldown" : "043", - "y" : 70, - "name" : "#043" - }, - { - "drilldown" : "044", - "y" : 87, - "name" : "#044" - }, - { - "name" : "#045", - "y" : 98, - "drilldown" : "045" - }, - { - "name" : "#046", - "drilldown" : "046", - "y" : 89 - }, - { - "y" : 86, - "drilldown" : "047", - "name" : "#047" - }, - { - "y" : 110, - "drilldown" : "048", - "name" : "#048" - }, - { - "y" : 91, - "drilldown" : "049", - "name" : "#049" - }, - { - "name" : "#050", - "y" : 100, - "drilldown" : "050" - }, - { - "name" : "#051", - "y" : 91, - "drilldown" : "051" - }, - { - "name" : "#052", - "drilldown" : "052", - "y" : 93 - }, - { - "y" : 103, - "drilldown" : "053", - "name" : "#053" - }, - { - "y" : 105, - "drilldown" : "054", - "name" : "#054" - }, - { - "name" : "#055", - "y" : 90, - "drilldown" : "055" - }, - { - "name" : "#056", - "y" : 97, - "drilldown" : "056" - }, - { - "name" : "#057", - "y" : 82, - "drilldown" : "057" - }, - { - "name" : "#058", - "y" : 71, - "drilldown" : "058" - }, - { - "drilldown" : "059", - "y" : 91, - "name" : "#059" - }, - { - "name" : "#060", - "y" : 87, - "drilldown" : "060" - }, - { - "name" : "#061", - "y" : 83, - "drilldown" : "061" - }, - { - "y" : 60, - "drilldown" : "062", - "name" : "#062" - }, - { - "drilldown" : "063", - "y" : 91, - "name" : "#063" - }, - { - "y" : 82, - "drilldown" : "064", - "name" : "#064" - }, - { - "y" : 75, - "drilldown" : "065", - "name" : "#065" - }, - { - "y" : 86, - "drilldown" : "066", - "name" : "#066" - }, - { - "name" : "#067", - "y" : 92, - "drilldown" : "067" - }, - { - "y" : 77, - "drilldown" : "068", - "name" : "#068" - }, - { - "name" : "#069", - "y" : 85, - "drilldown" : "069" - }, - { - "drilldown" : "070", - "y" : 95, - "name" : "#070" - }, - { - "name" : "#071", - "drilldown" : "071", - "y" : 80 - }, - { - "name" : "#072", - "y" : 114, - "drilldown" : "072" - }, - { - "drilldown" : "073", - "y" : 112, - "name" : "#073" - }, - { - "name" : "#074", - "y" : 117, - "drilldown" : "074" - }, - { - "drilldown" : "075", - "y" : 117, - "name" : "#075" - }, - { - "drilldown" : "076", - "y" : 101, - "name" : "#076" - }, - { - "name" : "#077", - "y" : 100, - "drilldown" : "077" - }, - { - "name" : "#078", - "drilldown" : "078", - "y" : 127 - }, - { - "name" : "#079", - "y" : 122, - "drilldown" : "079" - }, - { - "y" : 127, - "drilldown" : "080", - "name" : "#080" - }, - { - "name" : "#081", - "y" : 114, - "drilldown" : "081" - }, - { - "name" : "#082", - "y" : 114, - "drilldown" : "082" - }, - { - "name" : "#083", - "y" : 127, - "drilldown" : "083" - }, - { - "drilldown" : "084", - "y" : 119, - "name" : "#084" - }, - { - "y" : 114, - "drilldown" : "085", - "name" : "#085" - }, - { - "name" : "#086", - "y" : 104, - "drilldown" : "086" - }, - { - "name" : "#087", - "y" : 101, - "drilldown" : "087" - }, - { - "y" : 121, - "drilldown" : "088", - "name" : "#088" - }, - { - "y" : 113, - "drilldown" : "089", - "name" : "#089" - }, - { - "name" : "#090", - "y" : 113, - "drilldown" : "090" - }, - { - "drilldown" : "091", - "y" : 108, - "name" : "#091" - }, - { - "name" : "#092", - "y" : 98, - "drilldown" : "092" - }, - { - "name" : "#093", - "y" : 87, - "drilldown" : "093" - }, - { - "name" : "#094", - "y" : 87, - "drilldown" : "094" - }, - { - "name" : "#095", - "drilldown" : "095", - "y" : 108 - }, - { - "name" : "#096", - "y" : 108, - "drilldown" : "096" - }, - { - "y" : 111, - "drilldown" : "097", - "name" : "#097" - }, - { - "name" : "#098", - "y" : 108, - "drilldown" : "098" - }, - { - "name" : "#099", - "y" : 97, - "drilldown" : "099" - }, - { - "y" : 120, - "drilldown" : "100", - "name" : "#100" - }, - { - "name" : "#101", - "y" : 83, - "drilldown" : "101" - }, - { - "name" : "#102", - "drilldown" : "102", - "y" : 90 - }, - { - "name" : "#103", - "drilldown" : "103", - "y" : 79 - }, - { - "y" : 85, - "drilldown" : "104", - "name" : "#104" - }, - { - "name" : "#105", - "drilldown" : "105", - "y" : 75 - }, - { - "name" : "#106", - "y" : 97, - "drilldown" : "106" - }, - { - "name" : "#107", - "drilldown" : "107", - "y" : 90 - }, - { - "drilldown" : "108", - "y" : 94, - "name" : "#108" - }, - { - "y" : 107, - "drilldown" : "109", - "name" : "#109" - }, - { - "name" : "#110", - "drilldown" : "110", - "y" : 108 - }, - { - "y" : 91, - "drilldown" : "111", - "name" : "#111" - }, - { - "y" : 92, - "drilldown" : "112", - "name" : "#112" - }, - { - "y" : 92, - "drilldown" : "113", - "name" : "#113" - }, - { - "y" : 108, - "drilldown" : "114", - "name" : "#114" - }, - { - "y" : 96, - "drilldown" : "115", - "name" : "#115" - }, - { - "name" : "#116", - "drilldown" : "116", - "y" : 95 - }, - { - "y" : 97, - "drilldown" : "117", - "name" : "#117" - }, - { - "name" : "#118", - "y" : 83, - "drilldown" : "118" - }, - { - "name" : "#119", - "y" : 125, - "drilldown" : "119" - }, - { - "name" : "#120", - "y" : 116, - "drilldown" : "120" - }, - { - "name" : "#121", - "y" : 92, - "drilldown" : "121" - }, - { - "y" : 110, - "drilldown" : "122", - "name" : "#122" - }, - { - "name" : "#123", - "drilldown" : "123", - "y" : 105 - }, - { - "name" : "#124", - "y" : 85, - "drilldown" : "124" - }, - { - "y" : 63, - "drilldown" : "125", - "name" : "#125" - }, - { - "name" : "#126", - "y" : 113, - "drilldown" : "126" - }, - { - "drilldown" : "127", - "y" : 110, - "name" : "#127" - }, - { - "y" : 71, - "drilldown" : "128", - "name" : "#128" - }, - { - "y" : 50, - "drilldown" : "129", - "name" : "#129" - }, - { |
