aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-12-07 16:40:48 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-12-07 16:40:48 +0000
commitee821caa5d4ce419bac9f9c200243dd1643fb325 (patch)
treeda20ba90977c38dabe73f240a42d1b71089c0a7c
parent822dff5d9cc1a3daf3a800068f26040f9929e918 (diff)
downloadperlweeklychallenge-club-ee821caa5d4ce419bac9f9c200243dd1643fb325.tar.gz
perlweeklychallenge-club-ee821caa5d4ce419bac9f9c200243dd1643fb325.tar.bz2
perlweeklychallenge-club-ee821caa5d4ce419bac9f9c200243dd1643fb325.zip
- Added solutions by Robert DiCicco.
-rw-r--r--challenge-142/robert-dicicco/perl/ch-1.pl73
-rw-r--r--challenge-142/robert-dicicco/perl/ch-2.pl55
-rw-r--r--stats/pwc-current.json131
-rw-r--r--stats/pwc-language-breakdown-summary.json42
-rw-r--r--stats/pwc-language-breakdown.json1962
-rw-r--r--stats/pwc-leaders.json740
-rw-r--r--stats/pwc-summary-1-30.json42
-rw-r--r--stats/pwc-summary-121-150.json98
-rw-r--r--stats/pwc-summary-151-180.json38
-rw-r--r--stats/pwc-summary-181-210.json114
-rw-r--r--stats/pwc-summary-211-240.json54
-rw-r--r--stats/pwc-summary-241-270.json46
-rw-r--r--stats/pwc-summary-31-60.json56
-rw-r--r--stats/pwc-summary-61-90.json44
-rw-r--r--stats/pwc-summary-91-120.json108
-rw-r--r--stats/pwc-summary.json530
16 files changed, 2138 insertions, 1995 deletions
diff --git a/challenge-142/robert-dicicco/perl/ch-1.pl b/challenge-142/robert-dicicco/perl/ch-1.pl
new file mode 100644
index 0000000000..2b9cfd7ee7
--- /dev/null
+++ b/challenge-142/robert-dicicco/perl/ch-1.pl
@@ -0,0 +1,73 @@
+#!perl.exe
+
+use strict;
+use warnings;
+use ntheory qw/ divisors /;
+use IO::Prompter;
+
+### AUTHOR: Robert DiCicco
+### DATE: 06-DEC-2021
+### Challenge #142 Divisor Last Digit
+
+my @outlist = ();
+
+my $fnum = prompt 'Input the first number : ', -integer => [ 1 .. 99999 ];
+chomp($fnum);
+$fnum = int($fnum);
+
+my $snum = prompt 'Input the second number (last digit) : ',
+ -integer => [ 0 .. 9 ];
+chomp($snum);
+$snum = int($snum);
+
+# Get list of divisors for $fnum
+my @d = divisors($fnum);
+
+# And get rid of the last entry, which is $fnum
+pop(@d);
+
+# Check to see if we have saved anything to our array
+if ( scalar(@d) ) {
+ print("The divisors of $fnum are : @d\n");
+}
+else {
+ die "There are no divisors. Aborting\n";
+}
+
+# Foreach divisor in our array
+# get its last digit and save it in the outlist array
+
+foreach my $n (@d) {
+ my $retval = lastdigit($n);
+ if ( ( $retval == $snum ) and ( $fnum != $snum ) ) {
+ push( @outlist, $n );
+ }
+}
+
+# Print the count of those divisors that have the proper last digit,
+# and the list of those divisors
+
+if ( scalar(@outlist) ) {
+ print( "There are only "
+ . scalar(@outlist)
+ . " divisor\(s\) having last digit $snum\n" );
+ print("They are : @outlist\n");
+}
+else {
+ die "There are no divisors that have a last digit of $snum\n";
+}
+
+# Given an integer, return its last digit
+
+sub lastdigit {
+ my $len = length( $_[0] ) - 1;
+ # Return the number if it is only one digit long
+ if ( $len == 0 ) {
+ return ( $_[0] );
+ }
+ else {
+ # split into digits
+ my @spl = split( //, $_[0] );
+ return ( $spl[$len] );
+ }
+}
diff --git a/challenge-142/robert-dicicco/perl/ch-2.pl b/challenge-142/robert-dicicco/perl/ch-2.pl
new file mode 100644
index 0000000000..d75acee3a8
--- /dev/null
+++ b/challenge-142/robert-dicicco/perl/ch-2.pl
@@ -0,0 +1,55 @@
+#!perl.exe
+
+use strict;
+use warnings;
+use threads;
+use Time::HiRes qw/ usleep /;
+
+### AUTHOR: Robert DiCicco
+### DATE: 07-DEC-2021
+### Challenge #142 Sleep Sort
+
+my $start = Time::HiRes::time();
+print("\nStart Time : $start\n\n");
+
+# Original array to be sorted
+my @arr = qw/ 9 8 z g R o p x u a b 0 /;
+
+my @threads = ();
+
+# '0' = 48
+my $offset = 48;
+
+my $item = '';
+print("Array to be sorted : ");
+
+print("@arr\n");
+
+print("Sorted array : ");
+
+# Create a thread for each item in the source array
+# Send the item and its adjusted value to the sub
+
+foreach $item ( @arr ){
+ my $t = threads->create(\&sub1, $item,ord($item) - $offset);
+ # push the thread id into an array
+ push(@threads, $t);
+}
+
+# Join threads, read from array
+
+foreach (@threads) {
+ $_->join;
+}
+
+my $end = Time::HiRes::time();
+
+print("\n\nEnd Time : $end\n");
+print("\nElapsed Time : " . ($end - $start) . "\n");
+
+sub sub1 {
+ my $message = $_[0];
+ # HiRes microseconds are too quick, adjusted by multiplying by 10000
+ usleep($_[1] * 10000);
+ print(" $message");
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 39f7b1d8fb..8bf6cf2721 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,14 +1,11 @@
{
- "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/>"
- },
- "subtitle" : {
- "text" : "[Champions: 9] Last updated at 2021-12-07 16:29:15 GMT"
+ "xAxis" : {
+ "type" : "category"
},
"series" : [
{
+ "name" : "The Weekly Challenge - 142",
+ "colorByPoint" : 1,
"data" : [
{
"name" : "Abigail",
@@ -26,9 +23,9 @@
"y" : 2
},
{
- "y" : 3,
+ "name" : "James Smith",
"drilldown" : "James Smith",
- "name" : "James Smith"
+ "y" : 3
},
{
"y" : 6,
@@ -36,66 +33,98 @@
"name" : "Luca Ferrari"
},
{
- "drilldown" : "Mark Anderson",
"y" : 2,
+ "drilldown" : "Mark Anderson",
"name" : "Mark Anderson"
},
{
- "y" : 2,
"drilldown" : "Paulo Custodio",
+ "y" : 2,
"name" : "Paulo Custodio"
},
{
- "drilldown" : "Roger Bell_West",
+ "name" : "Robert DiCicco",
+ "drilldown" : "Robert DiCicco",
+ "y" : 2
+ },
+ {
+ "name" : "Roger Bell_West",
"y" : 5,
- "name" : "Roger Bell_West"
+ "drilldown" : "Roger Bell_West"
},
{
+ "name" : "Ulrich Rieke",
"drilldown" : "Ulrich Rieke",
- "y" : 3,
- "name" : "Ulrich Rieke"
+ "y" : 3
}
- ],
- "colorByPoint" : 1,
- "name" : "The Weekly Challenge - 142"
+ ]
}
],
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
"legend" : {
"enabled" : 0
},
+ "subtitle" : {
+ "text" : "[Champions: 10] Last updated at 2021-12-07 16:39:29 GMT"
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "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
+ },
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
+ }
+ },
+ "title" : {
+ "text" : "The Weekly Challenge - 142"
+ },
"drilldown" : {
"series" : [
{
+ "name" : "Abigail",
"data" : [
[
"Perl",
2
]
],
- "name" : "Abigail",
"id" : "Abigail"
},
{
+ "name" : "Andrew Shitov",
+ "id" : "Andrew Shitov",
"data" : [
[
"Raku",
1
]
- ],
- "id" : "Andrew Shitov",
- "name" : "Andrew Shitov"
+ ]
},
{
- "id" : "E. Choroba",
"name" : "E. Choroba",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "E. Choroba"
},
{
+ "id" : "James Smith",
"data" : [
[
"Perl",
@@ -106,10 +135,10 @@
1
]
],
- "id" : "James Smith",
"name" : "James Smith"
},
{
+ "name" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -120,30 +149,41 @@
4
]
],
- "id" : "Luca Ferrari",
- "name" : "Luca Ferrari"
+ "id" : "Luca Ferrari"
},
{
"id" : "Mark Anderson",
- "name" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
+ ],
+ "name" : "Mark Anderson"
+ },
+ {
+ "name" : "Paulo Custodio",
+ "id" : "Paulo Custodio",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
]
},
{
+ "name" : "Robert DiCicco",
"data" : [
[
"Perl",
2
]
],
- "name" : "Paulo Custodio",
- "id" : "Paulo Custodio"
+ "id" : "Robert DiCicco"
},
{
+ "name" : "Roger Bell_West",
+ "id" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -157,9 +197,7 @@
"Blog",
1
]
- ],
- "id" : "Roger Bell_West",
- "name" : "Roger Bell_West"
+ ]
},
{
"data" : [
@@ -172,32 +210,9 @@
2
]
],
- "name" : "Ulrich Rieke",
- "id" : "Ulrich Rieke"
+ "id" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke"
}
]
- },
- "xAxis" : {
- "type" : "category"
- },
- "title" : {
- "text" : "The Weekly Challenge - 142"
- },
- "chart" : {
- "type" : "column"
- },
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- },
- "borderWidth" : 0
- }
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 597fc74b7d..e3f909590e 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,6 +1,9 @@
{
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
+ "yAxis" : {
+ "min" : 0,
+ "title" : {
+ "text" : null
+ }
},
"series" : [
{
@@ -11,34 +14,28 @@
],
[
"Perl",
- 6820
+ 6822
],
[
"Raku",
4136
]
],
- "name" : "Contributions",
"dataLabels" : {
+ "rotation" : -90,
"enabled" : "true",
- "y" : 10,
- "format" : "{point.y:.0f}",
"color" : "#FFFFFF",
+ "format" : "{point.y:.0f}",
"align" : "right",
- "rotation" : -90,
+ "y" : 10,
"style" : {
"fontFamily" : "Verdana, sans-serif",
"fontSize" : "13px"
}
- }
+ },
+ "name" : "Contributions"
}
],
- "legend" : {
- "enabled" : "false"
- },
- "subtitle" : {
- "text" : "Last updated at 2021-12-07 16:29:15 GMT"
- },
"xAxis" : {
"labels" : {
"style" : {
@@ -48,16 +45,19 @@
},
"type" : "category"
},
- "title" : {
- "text" : "The Weekly Challenge Contributions [2019 - 2021]"
+ "legend" : {
+ "enabled" : "false"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2021-12-07 16:39:29 GMT"
},
"chart" : {
"type" : "column"
},
- "yAxis" : {
- "min" : 0,
- "title" : {
- "text" : null
- }
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
+ "title" : {
+ "text" : "The Weekly Challenge Contributions [2019 - 2021]"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 8a469b2f77..e58d20e44d 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,741 +1,8 @@
{
- "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/>"
- },
- "series" : [
- {
- "data" : [
- {
- "drilldown" : "001",
- "y" : 161,
- "name" : "#001"
- },
- {
- "drilldown" : "002",
- "y" : 125,
- "name" : "#002"
- },
- {
- "drilldown" : "003",
- "y" : 83,
- "name" : "#003"
- },
- {
- "name" : "#004",
- "y" : 99,
- "drilldown" : "004"
- },
- {
- "y" : 78,
- "drilldown" : "005",
- "name" : "#005"
- },
- {
- "name" : "#006",
- "drilldown" : "006",
- "y" : 58
- },
- {
- "drilldown" : "007",
- "y" : 64,
- "name" : "#007"
- },
- {
- "drilldown" : "008",
- "y" : 78,
- "name" : "#008"
- },
- {
- "name" : "#009",
- "drilldown" : "009",
- "y" : 76
- },
- {
- "name" : "#010",
- "y" : 65,
- "drilldown" : "010"
- },
- {
- "y" : 85,
- "drilldown" : "011",
- "name" : "#011"
- },
- {
- "y" : 89,
- "drilldown" : "012",
- "name" : "#012"
- },
- {
- "name" : "#013",
- "y" : 85,
- "drilldown" : "013"
- },
- {
- "name" : "#014",
- "y" : 101,
- "drilldown" : "014"
- },
- {
- "drilldown" : "015",
- "y" : 99,
- "name" : "#015"
- },
- {
- "name" : "#016",
- "drilldown" : "016",
- "y" : 71
- },
- {
- "name" : "#017",
- "drilldown" : "017",
- "y" : 84
- },
- {
- "drilldown" : "018",
- "y" : 81,
- "name" : "#018"
- },
- {
- "drilldown" : "019",
- "y" : 103,
- "name" : "#019"
- },
- {
- "name" : "#020",
- "y" : 101,
- "drilldown" : "020"
- },
- {
- "y" : 72,
- "drilldown" : "021",
- "name" : "#021"
- },
- {
- "name" : "#022",
- "y" : 68,
- "drilldown" : "022"
- },
- {
- "y" : 97,
- "drilldown" : "023",
- "name" : "#023"
- },
- {
- "name" : "#024",
- "y" : 75,
- "drilldown" : "024"
- },
- {
- "drilldown" : "025",
- "y" : 59,
- "name" : "#025"
- },
- {
- "name" : "#026",
- "y" : 74,
- "drilldown" : "026"
- },
- {
- "name" : "#027",
- "drilldown" : "027",
- "y" : 60
- },
- {
- "y" : 80,
- "drilldown" : "028",
- "name" : "#028"
- },
- {
- "name" : "#029",
- "drilldown" : "029",
- "y" : 79
- },
- {
- "name" : "#030",
- "y" : 117,
- "drilldown" : "030"
- },
- {
- "name" : "#031",
- "y" : 89,
- "drilldown" : "031"
- },
- {
- "name" : "#032",
- "y" : 94,
- "drilldown" : "032"
- },
- {
- "drilldown" : "033",
- "y" : 110,
- "name" : "#033"
- },
- {
- "name" : "#034",
- "y" : 64,
- "drilldown" : "034"
- },
- {
- "name" : "#035",
- "drilldown" : "035",
- "y" : 64
- },
- {
- "name" : "#036",
- "y" : 68,
- "drilldown" : "036"
- },
- {
- "name" : "#037",
- "drilldown" : "037",
- "y" : 67
- },
- {
- "name" : "#038",
- "y" : 68,
- "drilldown" : "038"
- },
- {
- "name" : "#039",
- "drilldown" : "039",
- "y" : 62
- },
- {
- "drilldown" : "040",
- "y" : 73,
- "name" : "#040"
- },
- {
- "drilldown" : "041",
- "y" : 76,
- "name" : "#041"
- },
- {
- "name" : "#042",
- "y" : 92,
- "drilldown" : "042"
- },
- {
- "name" : "#043",
- "drilldown" : "043",
- "y" : 68
- },
- {
- "drilldown" : "044",
- "y" : 85,
- "name" : "#044"
- },
- {
- "y" : 96,
- "drilldown" : "045",
- "name" : "#045"
- },
- {
- "name" : "#046",
- "y" : 87,
- "drilldown" : "046"
- },
- {
- "name" : "#047",
- "drilldown" : "047",
- "y" : 84
- },
- {
- "drilldown" : "048",
- "y" : 108,
- "name" : "#048"
- },
- {
- "name" : "#049",
- "y" : 89,
- "drilldown" : "049"
- },
- {
- "y" : 98,
- "drilldown" : "050",
- "name" : "#050"
- },
- {
- "name" : "#051",
- "y" : 89,
- "drilldown" : "051"
- },
- {
- "name" : "#052",
- "drilldown" : "052",
- "y" : 91
- },
- {
- "name" : "#053",
- "y" : 101,
- "drilldown" : "053"
- },
- {
- "name" : "#054",
- "drilldown" : "054",
- "y" : 103
- },
- {
- "name" : "#055",
- "drilldown" : "055",
- "y" : 88
- },
- {
- "drilldown" : "056",
- "y" : 95,
- "name" : "#056"
- },
- {
- "name" : "#057",
- "y" : 80,
- "drilldown" : "057"
- },
- {
- "y" : 69,
- "drilldown" : "058",
- "name" : "#058"
- },
- {
- "name" : "#059",
- "y" : 89,
- "drilldown" : "059"
- },
- {
- "y" : 85,
- "drilldown" : "060",
- "name" : "#060"
- },
- {
- "name" : "#061",
- "drilldown" : "061",
- "y" : 81
- },
- {
- "drilldown" : "062",
- "y" : 58,
- "name" : "#062"
- },
- {
- "name" : "#063",
- "y" : 89,
- "drilldown" : "063"
- },
- {
- "y" : 80,
- "drilldown" : "064",
- "name" : "#064"
- },
- {
- "y" : 73,
- "drilldown" : "065",
- "name" : "#065"
- },
- {
- "y" : 84,
- "drilldown" : "066",
- "name" : "#066"
- },
- {
- "drilldown" : "067",
- "y" : 90,
- "name" : "#067"
- },
- {
- "name" : "#068",
- "y" : 75,
- "drilldown" : "068"
- },
- {
- "name" : "#069",
- "y" : 83,
- "drilldown" : "069"
- },
- {
- "name" : "#070",
- "y" : 93,
- "drilldown" : "070"
- },
- {
- "name" : "#071",
- "drilldown" : "071",
- "y" : 78
- },
- {
- "drilldown" : "072",
- "y" : 112,
- "name" : "#072"
- },
- {
- "name" : "#073",
- "y" : 110,
- "drilldown" : "073"
- },
- {
- "drilldown" : "074",
- "y" : 115,
- "name" : "#074"
- },
- {
- "drilldown" : "075",
- "y" : 115,
- "name" : "#075"
- },
- {
- "name" : "#076",
- "y" : 99,
- "drilldown" : "076"
- },
- {
- "name" : "#077",
- "drilldown" : "077",
- "y" : 98
- },
- {
- "name" : "#078",
- "y" : 127,
- "drilldown" : "078"
- },
- {
- "y" : 122,
- "drilldown" : "079",
- "name" : "#079"
- },
- {
- "y" : 127,
- "drilldown" : "080",
- "name" : "#080"
- },
- {
- "name" : "#081",
- "y" : 114,
- "drilldown" : "081"
- },
- {
- "name" : "#082",
- "y" : 114,
- "drilldown" : "082"
- },
- {
- "name" : "#083",
- "drilldown" : "083",
- "y" : 127
- },
- {
- "drilldown" : "084",
- "y" : 119,
- "name" : "#084"
- },
- {
- "y" : 114,
- "drilldown" : "085",
- "name" : "#085"
- },
- {
- "y" : 104,
- "drilldown" : "086",
- "name" : "#086"
- },
- {
- "name" : "#087",
- "y" : 101,
- "drilldown" : "087"
- },
- {
- "drilldown" : "088",
- "y" : 121,
- "name" : "#088"
- },
- {
- "drilldown" : "089",
- "y" : 113,
- "name" : "#089"
- },
- {
- "drilldown" : "090",
- "y" : 113,
- "name" : "#090"
- },
- {
- "y" : 108,
- "drilldown" : "091",
- "name" : "#091"
- },
- {
- "drilldown" : "092",
- "y" : 98,
- "name" : "#092"
- },
- {
- "y" : 87,
- "drilldown" : "093",
- "name" : "#093"
- },
- {
- "name" : "#094",
- "drilldown" : "094",
- "y" : 87
- },
- {
- "name" : "#095",
- "y" : 108,
- "drilldown" : "095"
- },
- {
- "drilldown" : "096",
- "y" : 108,
- "name" : "#096"
- },
- {
- "name" : "#097",
- "y" : 111,
- "drilldown" : "097"
- },
- {
- "y" : 108,
- "drilldown" : "098",
- "name" : "#098"
- },
- {
- "y" : 97,
- "drilldown" : "099",
- "name" : "#099"
- },
- {
- "name" : "#100",
- "y" : 120,
- "drilldown" : "100"
- },
- {
- "y" : 83,
- "drilldown" : "101",
- "name" : "#101"
- },
- {
- "y" : 90,
- "drilldown" : "102",
- "name" : "#102"
- },
- {
- "y" : 79,
- "drilldown" : "103",
- "name" : "#103"
- },
- {
- "y" : 85,
- "drilldown" : "104",
- "name" : "#104"
- },
- {
- "name" : "#105",
- "drilldown" : "105",
- "y" : 75
- },
- {
- "y" : 97,
- "drilldown" : "106",
- "name" : "#106"
- },
- {
- "drilldown" : "107",
- "y" : 90,
- "name" : "#107"
- },
- {
- "drilldown" : "108",
- "y" : 94,
- "name" : "#108"
- },
- {
- "name" : "#109",
- "y" : 107,
- "drilldown" : "109"
- },
- {
- "name" : "#110",
- "drilldown" : "110",
- "y" : 108
- },
- {
- "y" : 91,
- "drilldown" : "111",
- "name" : "#111"
- },
- {
- "name" : "#112",
- "drilldown" : "112",
- "y" : 92
- },
- {
- "name" : "#113",
- "y" : 92,
- "drilldown" : "113"
- },
- {
- "y" : 108,
- "drilldown" : "114",
- "name" : "#114"
- },
- {
- "y" : 96,
- "drilldown" : "115",
- "name" : "#115"
- },
- {
- "drilldown" : "116",
- "y" : 95,
- "name" : "#116"
- },
- {
- "y" : 97,
- "drilldown" : "117",
- "name" : "#117"
- },
- {
- "name" : "#118",
- "drilldown" : "118",
- "y" : 83
- },
- {
- "y" : 125,
- "drilldown" : "119",
- "name" : "#119"
- },