diff options
| -rw-r--r-- | challenge-159/robert-dicicco/perl/ch-1.pl | 38 | ||||
| -rw-r--r-- | challenge-159/robert-dicicco/perl/ch-2.pl | 46 | ||||
| -rw-r--r-- | stats/pwc-current.json | 221 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 74 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1084 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 392 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 58 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 114 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 96 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 558 |
16 files changed, 1519 insertions, 1420 deletions
diff --git a/challenge-159/robert-dicicco/perl/ch-1.pl b/challenge-159/robert-dicicco/perl/ch-1.pl new file mode 100644 index 0000000000..fb7298bc20 --- /dev/null +++ b/challenge-159/robert-dicicco/perl/ch-1.pl @@ -0,0 +1,38 @@ +#!perl.exe + +use strict; +use warnings; +use Number::Fraction qw/:constants/; + +# Author: Robert DiCicco +# DATE: 4-APR-2022 +# Challenge 159 Farey Sequence ( Perl ) + +my $n = $ARGV[0]; # command line arg, no error check ! + +my %equivs; # hash arrray to hold fraction and its decimal equivalent +my $LOWER_LIMIT = '0' . '/' . '1'; # lower limit in the output '0/1' +my $UPPER_LIMIT = '1' . '/' . '1'; # upper limit in the output '1/1' + +for (1..($n-1)) { # get numerators we will work with + my $frac = Number::Fraction->new($_, $n); # create fraction $_/$n + $equivs{$frac} = ($_ / $n); # store decimal value in hash keyed by fraction +} + +my $d = $n-1; +while($d) { # create all other fractions with denoms 1 .. n-1 + for my $num (1..($d-1)) { + my $frac = Number::Fraction->new($num, $d); + $equivs{$frac} = ($num / $d); # store decimal value in hash keyed by fraction + } + $d--; +} + +# print hash sorted by decimal values, displayed by fraction value +print("Input: n = $n\n"); +print("$LOWER_LIMIT "); +foreach my $v (sort { $equivs{$a} <=> $equivs{$b} } keys %equivs) { + print("$v "); +} + +print("$UPPER_LIMIT\n"); diff --git a/challenge-159/robert-dicicco/perl/ch-2.pl b/challenge-159/robert-dicicco/perl/ch-2.pl new file mode 100644 index 0000000000..fbc177653f --- /dev/null +++ b/challenge-159/robert-dicicco/perl/ch-2.pl @@ -0,0 +1,46 @@ +#!perl.exe + +use strict; +use warnings; +use feature qw/say/; +use ntheory qw/factor is_prime is_square_free/; + +# AUTHOR: Robert DiCicco +# DATE: 4-APR-2022 +# Challenge 159 Moebius Number ( Perl ) + +sub checkSquareFree { # return 1 if number is squae free, 0 if not + my $num = shift; + if(is_square_free($num)) { + return(1); + } else { + return(0); + } +} + +sub getPrimeFactorCount { # Get prime factor count + my $num = shift; + + my @arr = factor($num); + my $sz = scalar(@arr); + if($sz % 2 == 0){ + return(1); # return 1 if even + } + + return(0); # return 0 if not +} + +my $n = $ARGV[0]; # command line arg, no checking! + +my $sf = checkSquareFree($n); +my $pf = getPrimeFactorCount($n); + +print("Input: n = $n\n"); + +if(($pf == 1)&&($sf == 1)) { # has even number of prime factors and is square free + print("Output: 1\n"); +} elsif (($pf == 0) && ($sf == 1)) { # has odd number of prime factors and is square free + print("Output: -1\n"); +} elsif ( $sf == 0 ) { # number is not square free + print("Output: 0\n"); +} else { die "Error!!!"}; # something is wrong!! diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 4a6f56423b..6f52526a1d 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,90 +1,17 @@ { - "title" : { - "text" : "The Weekly Challenge - 159" - }, - "subtitle" : { - "text" : "[Champions: 11] Last updated at 2022-04-05 19:54:50 GMT" - }, - "series" : [ - { - "colorByPoint" : 1, - "data" : [ - { - "drilldown" : "Dave Jacoby", - "y" : 3, - "name" : "Dave Jacoby" - }, - { - "drilldown" : "E. Choroba", - "name" : "E. Choroba", - "y" : 2 - }, - { - "drilldown" : "Flavio Poletti", - "y" : 6, - "name" : "Flavio Poletti" - }, - { - "name" : "James Smith", - "y" : 3, - "drilldown" : "James Smith" - }, - { - "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari", - "y" : 8 - }, - { - "y" : 2, - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" - }, - { - "y" : 2, - "name" : "Marton Polgar", - "drilldown" : "Marton Polgar" - }, - { - "name" : "Paulo Custodio", - "y" : 2, - "drilldown" : "Paulo Custodio" - }, - { - "name" : "PokGoPun", - "y" : 2, - "drilldown" : "PokGoPun" - }, - { - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 4 - }, - { - "y" : 2, - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor" - } - ], - "name" : "The Weekly Challenge - 159" - } - ], - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 + "yAxis" : { + "title" : { + "text" : "Total Solutions" } }, - "chart" : { - "type" : "column" + "legend" : { + "enabled" : 0 }, "drilldown" : { "series" : [ { - "id" : "Dave Jacoby", "name" : "Dave Jacoby", + "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -97,17 +24,16 @@ ] }, { - "id" : "E. Choroba", - "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "E. Choroba", + "id" : "E. Choroba" }, { - "id" : "Flavio Poletti", "data" : [ [ "Perl", @@ -122,10 +48,10 @@ 2 ] ], + "id" : "Flavio Poletti", "name" : "Flavio Poletti" }, { - "name" : "James Smith", "data" : [ [ "Perl", @@ -136,7 +62,8 @@ 1 ] ], - "id" : "James Smith" + "id" : "James Smith", + "name" : "James Smith" }, { "data" : [ @@ -149,22 +76,22 @@ 6 ] ], - "name" : "Luca Ferrari", - "id" : "Luca Ferrari" + "id" : "Luca Ferrari", + "name" : "Luca Ferrari" }, { - "id" : "Mark Anderson", - "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Mark Anderson", + "id" : "Mark Anderson" }, { - "id" : "Marton Polgar", "name" : "Marton Polgar", + "id" : "Marton Polgar", "data" : [ [ "Raku", @@ -173,13 +100,13 @@ ] }, { - "name" : "Paulo Custodio", "data" : [ [ "Perl", 2 ] ], + "name" : "Paulo Custodio", "id" : "Paulo Custodio" }, { @@ -189,11 +116,20 @@ 2 ] ], - "name" : "PokGoPun", - "id" : "PokGoPun" + "id" : "PokGoPun", + "name" : "PokGoPun" + }, + { + "name" : "Robert DiCicco", + "id" : "Robert DiCicco", + "data" : [ + [ + "Perl", + 2 + ] + ] }, { - "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -204,6 +140,7 @@ 2 ] ], + "name" : "Roger Bell_West", "id" : "Roger Bell_West" }, { @@ -218,20 +155,98 @@ } ] }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "legend" : { - "enabled" : 0 - }, "tooltip" : { "followPointer" : 1, "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/>" }, + "title" : { + "text" : "The Weekly Challenge - 159" + }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "[Champions: 12] Last updated at 2022-04-05 20:19:25 GMT" + }, + "series" : [ + { + "name" : "The Weekly Challenge - 159", + "data" : [ + { + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby", + "y" : 3 + }, + { + "y" : 2, + "drilldown" : "E. Choroba", + "name" : "E. Choroba" + }, + { + "y" : 6, + "name" : "Flavio Poletti", + "drilldown" : "Flavio Poletti" + }, + { + "name" : "James Smith", + "drilldown" : "James Smith", + "y" : 3 + }, + { + "y" : 8, + "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari" + }, + { + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson", + "y" : 2 + }, + { + "name" : "Marton Polgar", + "drilldown" : "Marton Polgar", + "y" : 2 + }, + { + "drilldown" : "Paulo Custodio", + "name" : "Paulo Custodio", + "y" : 2 + }, + { + "name" : "PokGoPun", + "drilldown" : "PokGoPun", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Robert DiCicco", + "name" : "Robert DiCicco" + }, + { + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", + "y" : 4 + }, + { + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", + "y" : 2 + } + ], + "colorByPoint" : 1 + } + ], "xAxis" : { "type" : "category" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index fd3f6d549b..00ae16ae32 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,22 +1,48 @@ { + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2022]" }, + "legend" : { + "enabled" : "false" + }, + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } + }, + "subtitle" : { + "text" : "Last updated at 2022-04-05 20:19:25 GMT" + }, "series" : [ { "dataLabels" : { - "rotation" : -90, - "y" : 10, "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, - "color" : "#FFFFFF", + "y" : 10, + "align" : "right", "format" : "{point.y:.0f}", "enabled" : "true", - "align" : "right" + "rotation" : -90, + "color" : "#FFFFFF" }, - "name" : "Contributions", "data" : [ [ "Blog", @@ -24,40 +50,14 @@ ], [ "Perl", - 7665 + 7667 ], [ "Raku", 4591 ] - ] + ], + "name" : "Contributions" } - ], - "subtitle" : { - "text" : "Last updated at 2022-04-05 19:54:50 GMT" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - } - }, - "chart" : { - "type" : "column" - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "legend" : { - "enabled" : "false" - } + ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index f0c94b5320..79632a5045 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,12 +1,15 @@ { + "chart" : { + "type" : "column" + }, "series" : [ { "name" : "The Weekly Challenge Languages", "colorByPoint" : "true", "data" : [ { - "drilldown" : "001", "name" : "#001", + "drilldown" : "001", "y" : 161 }, { @@ -25,59 +28,59 @@ "drilldown" : "004" }, { - "drilldown" : "005", + "y" : 78, "name" : "#005", - "y" : 78 + "drilldown" : "005" }, { - "drilldown" : "006", "y" : 58, - "name" : "#006" + "name" : "#006", + "drilldown" : "006" }, { + "name" : "#007", "drilldown" : "007", - "y" : 64, - "name" : "#007" + "y" : 64 }, { - "drilldown" : "008", + "y" : 78, "name" : "#008", - "y" : 78 + "drilldown" : "008" }, { - "drilldown" : "009", "y" : 76, - "name" : "#009" + "name" : "#009", + "drilldown" : "009" }, { - "drilldown" : "010", "y" : 65, + "drilldown" : "010", "name" : "#010" }, { - "drilldown" : "011", + "y" : 85, "name" : "#011", - "y" : 85 + "drilldown" : "011" }, { - "y" : 89, + "drilldown" : "012", "name" : "#012", - "drilldown" : "012" + "y" : 89 }, { + "name" : "#013", "drilldown" : "013", - "y" : 85, - "name" : "#013" + "y" : 85 }, { + "y" : 101, "drilldown" : "014", - "name" : "#014", - "y" : 101 + "name" : "#014" }, { - "drilldown" : "015", + "y" : 99, "name" : "#015", - "y" : 99 + "drilldown" : "015" }, { "y" : 71, @@ -85,98 +88,98 @@ "drilldown" : "016" }, { - "name" : "#017", "y" : 84, + "name" : "#017", "drilldown" : "017" }, { "drilldown" : "018", - "y" : 81, - "name" : "#018" + "name" : "#018", + "y" : 81 }, { + "name" : "#019", "drilldown" : "019", - "y" : 103, - "name" : "#019" + "y" : 103 }, { "y" : 101, - "name" : "#020", - "drilldown" : "020" + "drilldown" : "020", + "name" : "#020" }, { - "drilldown" : "021", "y" : 72, - "name" : "#021" + "name" : "#021", + "drilldown" : "021" }, { - "drilldown" : "022", "y" : 68, + "drilldown" : "022", "name" : "#022" }, { "name" : "#023", - "y" : 97, - "drilldown" : "023" + "drilldown" : "023", + "y" : 97 }, { - "y" : 75, + "drilldown" : "024", "name" : "#024", - "drilldown" : "024" + "y" : 75 }, { - "drilldown" : "025", "y" : 59, - "name" : "#025" + "name" : "#025", + "drilldown" : "025" }, { - "y" : 74, + "drilldown" : "026", "name" : "#026", - "drilldown" : "026" + "y" : 74 }, { + "name" : "#027", "drilldown" : "027", - "y" : 62, - "name" : "#027" + "y" : 62 }, { - "drilldown" : "028", "y" : 82, + "drilldown" : "028", "name" : "#028" }, { - "drilldown" : "029", "y" : 81, - "name" : "#029" + "name" : "#029", + "drilldown" : "029" }, { "name" : "#030", - "y" : 119, - "drilldown" : "030" + "drilldown" : "030", + "y" : 119 }, { - "y" : 91, "name" : "#031", - "drilldown" : "031" + "drilldown" : "031", + "y" : 91 }, { - "drilldown" : "032", "y" : 96, + "drilldown" : "032", "name" : "#032" }, { - "name" : "#033", "y" : 112, + "name" : "#033", "drilldown" : "033" }, { - "drilldown" : "034", + "y" : 66, "name" : "#034", - "y" : 66 + "drilldown" : "034" }, { - "drilldown" : "035", "y" : 66, + "drilldown" : "035", "name" : "#035" }, { @@ -190,29 +193,29 @@ "drilldown" : "037" }, { + "y" : 70, "drilldown" : "038", - "name" : "#038", - "y" : 70 + "name" : "#038" }, { - "drilldown" : "039", + "y" : 64, "name" : "#039", - "y" : 64 + "drilldown" : "039" }, { + "name" : "#040", "drilldown" : "040", - "y" : 73, - "name" : "#040" + "y" : 73 }, { - "drilldown" : "041", "y" : 76, + "drilldown" : "041", "name" : "#041" }, { + "name" : "#042", "drilldown" : "042", - "y" : 92, - "name" : "#042" + "y" : 92 }, { "y" : 68, @@ -221,53 +224,53 @@ }, { "drilldown" : "044", - "y" : 85, - "name" : "#044" + "name" : "#044", + "y" : 85 }, { "y" : 96, - "name" : "#045", - "drilldown" : "045" + "drilldown" : "045", + "name" : "#045" }, { - "drilldown" : "046", "y" : 87, - "name" : "#046" + "name" : "#046", + "drilldown" : "046" }, { - "name" : "#047", "y" : 84, + "name" : "#047", "drilldown" : "047" }, { - "y" : 108, + "drilldown" : "048", "name" : "#048", - "drilldown" : "048" + "y" : 108 }, { "drilldown" : "049", - "y" : 89, - "name" : "#049" + "name" : "#049", + "y" : 89 }, { - "y" : 98, "name" : "#050", - "drilldown" : "050" + "drilldown" : "050", + "y" : 98 }, { - "drilldown" : "051", "y" : 89, - "name" : "#051" + "name" : "#051", + "drilldown" : "051" }, { - "name" : "#052", "y" : 91, + "name" : "#052", "drilldown" : "052" }, { "y" : 101, - "name" : "#053", - "drilldown" : "053" + "drilldown" : "053", + "name" : "#053" }, { "drilldown" : "054", @@ -275,79 +278,79 @@ "y" : 103 }, { - "drilldown" : "055", "y" : 88, + "drilldown" : "055", "name" : "#055" }, { - "y" : 95, "name" : "#056", - "drilldown" : "056" + "drilldown" : "056", + "y" : 95 }, { - "drilldown" : "057", "y" : 80, + "drilldown" : "057", "name" : "#057" }, { - "name" : "#058", "y" : 69, - "drilldown" : "058" + "drilldown" : "058", + "name" : "#058" }, { - "drilldown" : "059", "name" : "#059", + "drilldown" : "059", "y" : 89 }, { "name" : "#060", - "y" : 85, - "drilldown" : "060" + "drilldown" : "060", + "y" : 85 }, { - "name" : "#061", "y" : 81, + "name" : "#061", "drilldown" : "061" }, { - "name" : "#062", "y" : 58, + "name" : "#062", "drilldown" : "062" }, { "y" : 89, - "name" : "#063", - "drilldown" : "063" + "drilldown" : "063", + "name" : "#063" }, { - "drilldown" : "064", "y" : 80, - "name" : "#064" + "name" : "#064", + "drilldown" : "064" }, { "y" : 73, - "name" : "#065", - "drilldown" : "065" + "drilldown" : "065", + "name" : "#065" }, { + "drilldown" : "066", "name" : "#066", - "y" : 84, - "drilldown" : "066" + "y" : 84 }, { + "drilldown" : "067", "name" : "#067", - "y" : 90, - "drilldown" : "067" + "y" : 90 }, { "drilldown" : "068", - "y" : 75, - "name" : "#068" + "name" : "#068", + "y" : 75 }, { - "drilldown" : "069", "y" : 83, - "name" : "#069" + "name" : "#069", + "drilldown" : "069" }, { "y" : 93, @@ -355,19 +358,19 @@ "drilldown" : "070" }, { - "drilldown" : "071", "y" : 78, - "name" : "#071" + "name" : "#071", + "drilldown" : "071" }, { - "drilldown" : "072", "y" : 112, + "drilldown" : "072", "name" : "#072" }, { + "name" : "#073", "drilldown" : "073", - "y" : 110, - "name" : "#073" + "y" : 110 }, { "y" : 115, @@ -375,39 +378,39 @@ "drilldown" : "074" }, { + "name" : "#075", "drilldown" : "075", - "y" : 115, - "name" : "#075" + "y" : 115 }, { + "name" : "#076", "drilldown" : "076", - "y" : 101, - "name" : "#076" + "y" : 101 }, { + "y" : 98, "drilldown" : "077", - "name" : "#077", - "y" : 98 + "name" : "#077" }, { - "name" : "#078", "y" : 127, - "drilldown" : "078" + "drilldown" : "078", + "name" : "#078" }, { - "y" : 122, "name" : "#079", - "drilldown" : "079" + "drilldown" : "079", + "y" : 122 }, { - "name" : "#080", "y" : 127, - "drilldown" : "080" + "drilldown" : "080", + "name" : "#080" }, { - "drilldown" : "081", + "y" : 114, "name" : "#081", - "y" : 114 + "drilldown" : "081" }, { "drilldown" : "082", @@ -416,48 +419,48 @@ }, { "y" : 127, - "name" : "#083", - "drilldown" : "083" + "drilldown" : "083", + "name" : "#083" }, { "y" : 119, - "name" : "#084", - "drilldown" : "084" + "drilldown" : "084", + "name" : "#084" }, { - "drilldown" : "085", "y" : 114, - "name" : "#085" + "name" : "#085", + "drilldown" : "085" }, { - "name" : "#086", "y" : 104, - "drilldown" : "086" + "drilldown" : "086", + "name" : "#086" }, { - "y" : 101, "name" : "#087", - "drilldown" : "087" + "drilldown" : "087", + "y" : 101 }, { "y" : 121, - "name" : "#088", - "drilldown" : "088" + "drilldown" : "088", + "name" : "#088" }, |
