aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-07-28 22:33:31 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-07-28 22:33:31 +0100
commit1278296bb25bf251215c68e39f1ea72536f083d3 (patch)
tree98731d5538a0a8cc50d981256af9509ff583251b
parent23c4139bae1c8283a1aa5eaca4d4531a3c70d3a5 (diff)
downloadperlweeklychallenge-club-1278296bb25bf251215c68e39f1ea72536f083d3.tar.gz
perlweeklychallenge-club-1278296bb25bf251215c68e39f1ea72536f083d3.tar.bz2
perlweeklychallenge-club-1278296bb25bf251215c68e39f1ea72536f083d3.zip
- Added Perl solution to task 1 of week 123.
-rw-r--r--challenge-123/mohammad-anwar/perl/ch-1.pl39
-rw-r--r--stats/pwc-current.json161
-rw-r--r--stats/pwc-language-breakdown-summary.json54
-rw-r--r--stats/pwc-language-breakdown.json844
-rw-r--r--stats/pwc-leaders.json400
-rw-r--r--stats/pwc-summary-1-30.json114
-rw-r--r--stats/pwc-summary-121-150.json122
-rw-r--r--stats/pwc-summary-151-180.json56
-rw-r--r--stats/pwc-summary-181-210.json22
-rw-r--r--stats/pwc-summary-211-240.json110
-rw-r--r--stats/pwc-summary-31-60.json118
-rw-r--r--stats/pwc-summary-61-90.json22
-rw-r--r--stats/pwc-summary-91-120.json52
-rw-r--r--stats/pwc-summary.json56
14 files changed, 1112 insertions, 1058 deletions
diff --git a/challenge-123/mohammad-anwar/perl/ch-1.pl b/challenge-123/mohammad-anwar/perl/ch-1.pl
new file mode 100644
index 0000000000..6d9d71c044
--- /dev/null
+++ b/challenge-123/mohammad-anwar/perl/ch-1.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+use List::Util qw(min);
+
+is(ugly_number(1), 1);
+is(ugly_number(7), 8);
+is(ugly_number(10), 12);
+is(ugly_number(150), 5832);
+
+done_testing;
+
+sub ugly_number {
+ my ($n) = @_;
+
+ return $n if ($n == 1);
+
+ my $multiple_of = { 2 => 2, 3 => 3, 5 => 5 };
+ my $index_of = { 2 => 0, 3 => 0, 5 => 0 };
+
+ my $next = 1;
+ my $ugly_numbers = [ $next ];
+ foreach my $i (1 .. $n-1) {
+ $next = min(values %$multiple_of);
+ $ugly_numbers->[$i] = $next;
+
+ foreach my $k (keys %$multiple_of) {
+ if ($next == $multiple_of->{$k}) {
+ $index_of->{$k}++;
+ $multiple_of->{$k} = $ugly_numbers->[$index_of->{$k}] * $k;
+ }
+ }
+ }
+
+ return $next;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index d023455555..98467a0c7e 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,44 +1,31 @@
{
- "legend" : {
- "enabled" : 0
- },
- "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/>"
- },
"series" : [
{
- "name" : "The Weekly Challenge - 123",
- "colorByPoint" : 1,
"data" : [
{
- "drilldown" : "Abigail",
"y" : 2,
- "name" : "Abigail"
+ "name" : "Abigail",
+ "drilldown" : "Abigail"
},
{
- "name" : "Cheok-Yin Fung",
"y" : 2,
+ "name" : "Cheok-Yin Fung",
"drilldown" : "Cheok-Yin Fung"
},
{
"name" : "Dave Jacoby",
- "drilldown" : "Dave Jacoby",
- "y" : 4
+ "y" : 4,
+ "drilldown" : "Dave Jacoby"
},
{
+ "drilldown" : "E. Choroba",
"name" : "E. Choroba",
- "y" : 2,
- "drilldown" : "E. Choroba"
+ "y" : 2
},
{
"name" : "James Smith",
- "drilldown" : "James Smith",
- "y" : 3
+ "y" : 3,
+ "drilldown" : "James Smith"
},
{
"name" : "Lucas Ransan",
@@ -46,9 +33,9 @@
"drilldown" : "Lucas Ransan"
},
{
- "drilldown" : "Mark Anderson",
+ "name" : "Mark Anderson",
"y" : 2,
- "name" : "Mark Anderson"
+ "drilldown" : "Mark Anderson"
},
{
"name" : "Markus Holzer",
@@ -56,19 +43,24 @@
"drilldown" : "Markus Holzer"
},
{
- "name" : "Niels van Dijke",
+ "name" : "Mohammad S Anwar",
+ "y" : 1,
+ "drilldown" : "Mohammad S Anwar"
+ },
+ {
+ "drilldown" : "Niels van Dijke",
"y" : 2,
- "drilldown" : "Niels van Dijke"
+ "name" : "Niels van Dijke"
},
{
+ "name" : "Roger Bell_West",
"y" : 5,
- "drilldown" : "Roger Bell_West",
- "name" : "Roger Bell_West"
+ "drilldown" : "Roger Bell_West"
},
{
- "y" : 3,
"drilldown" : "Simon Green",
- "name" : "Simon Green"
+ "name" : "Simon Green",
+ "y" : 3
},
{
"drilldown" : "Simon Proctor",
@@ -76,23 +68,31 @@
"name" : "Simon Proctor"
},
{
- "name" : "Stuart Little",
"y" : 4,
+ "name" : "Stuart Little",
"drilldown" : "Stuart Little"
},
{
- "name" : "Ulrich Rieke",
+ "drilldown" : "Ulrich Rieke",
"y" : 4,
- "drilldown" : "Ulrich Rieke"
+ "name" : "Ulrich Rieke"
},
{
- "name" : "W. Luis Mochan",
"drilldown" : "W. Luis Mochan",
- "y" : 3
+ "y" : 3,
+ "name" : "W. Luis Mochan"
}
- ]
+ ],
+ "name" : "The Weekly Challenge - 123",
+ "colorByPoint" : 1
}
],
+ "chart" : {
+ "type" : "column"
+ },
+ "legend" : {
+ "enabled" : 0
+ },
"drilldown" : {
"series" : [
{
@@ -106,8 +106,8 @@
]
},
{
- "name" : "Cheok-Yin Fung",
"id" : "Cheok-Yin Fung",
+ "name" : "Cheok-Yin Fung",
"data" : [
[
"Perl",
@@ -116,8 +116,6 @@
]
},
{
- "id" : "Dave Jacoby",
- "name" : "Dave Jacoby",
"data" : [
[
"Perl",
@@ -127,7 +125,9 @@
"Blog",
2
]
- ]
+ ],
+ "name" : "Dave Jacoby",
+ "id" : "Dave Jacoby"
},
{
"data" : [
@@ -136,11 +136,10 @@
2
]
],
- "id" : "E. Choroba",
- "name" : "E. Choroba"
+ "name" : "E. Choroba",
+ "id" : "E. Choroba"
},
{
- "id" : "James Smith",
"name" : "James Smith",
"data" : [
[
@@ -151,16 +150,17 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "James Smith"
},
{
+ "id" : "Lucas Ransan",
"data" : [
[
"Raku",
2
]
],
- "id" : "Lucas Ransan",
"name" : "Lucas Ransan"
},
{
@@ -175,25 +175,36 @@
},
{
"name" : "Markus Holzer",
- "id" : "Markus Holzer",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "id" : "Markus Holzer"
},
{
+ "id" : "Mohammad S Anwar",
"data" : [
[
"Perl",
- 2
+ 1
]
],
+ "name" : "Mohammad S Anwar"
+ },
+ {
"id" : "Niels van Dijke",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ],
"name" : "Niels van Dijke"
},
{
+ "name" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -208,12 +219,9 @@
1
]
],
- "name" : "Roger Bell_West",
"id" : "Roger Bell_West"
},
{
- "name" : "Simon Green",
- "id" : "Simon Green",
"data" : [
[
"Perl",
@@ -223,21 +231,22 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "Simon Green",
+ "id" : "Simon Green"
},
{
- "name" : "Simon Proctor",
"id" : "Simon Proctor",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "name" : "Simon Proctor"
},
{
"id" : "Stuart Little",
- "name" : "Stuart Little",
"data" : [
[
"Perl",
@@ -247,9 +256,12 @@
"Raku",
2
]
- ]
+ ],
+ "name" : "Stuart Little"
},
{
+ "id" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke",
"data" : [
[
"Perl",
@@ -259,9 +271,7 @@
"Raku",
2
]
- ],
- "id" : "Ulrich Rieke",
- "name" : "Ulrich Rieke"
+ ]
},
{
"id" : "W. Luis Mochan",
@@ -279,27 +289,32 @@
}
]
},
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
"subtitle" : {
- "text" : "[Champions: 15] Last updated at 2021-07-28 20:13:41 GMT"
+ "text" : "[Champions: 16] Last updated at 2021-07-28 21:33:13 GMT"
+ },
+ "title" : {
+ "text" : "The Weekly Challenge - 123"
},
"plotOptions" : {
"series" : {
+ "borderWidth" : 0,
"dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- },
- "borderWidth" : 0
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
}
},
- "chart" : {
- "type" : "column"
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
},
- "title" : {
- "text" : "The Weekly Challenge - 123"
+ "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
+ },
+ "xAxis" : {
+ "type" : "category"
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 8aa2c712a7..4b930acfde 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -2,32 +2,11 @@
"legend" : {
"enabled" : "false"
},
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- }
- }
+ "chart" : {
+ "type" : "column"
},
"series" : [
{
- "dataLabels" : {
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- },
- "align" : "right",
- "rotation" : -90,
- "color" : "#FFFFFF",
- "format" : "{point.y:.0f}",
- "enabled" : "true",
- "y" : 10
- },
"data" : [
[
"Blog",
@@ -35,18 +14,30 @@
],
[
"Perl",
- 5879
+ 5880
],
[
"Raku",
3670
]
],
+ "dataLabels" : {
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ },
+ "rotation" : -90,
+ "y" : 10,
+ "color" : "#FFFFFF",
+ "format" : "{point.y:.0f}",
+ "align" : "right",
+ "enabled" : "true"
+ },
"name" : "Contributions"
}
],
"subtitle" : {
- "text" : "Last updated at 2021-07-28 20:13:41 GMT"
+ "text" : "Last updated at 2021-07-28 21:33:13 GMT"
},
"yAxis" : {
"min" : 0,
@@ -57,7 +48,16 @@
"title" : {
"text" : "The Weekly Challenge Contributions [2019 - 2021]"
},
- "chart" : {
- "type" : "column"
+ "xAxis" : {
+ "labels" : {
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ }
+ },
+ "type" : "category"
+ },
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 3468f24b18..3a288867a7 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,4 +1,12 @@
{
+ "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/>"
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
"plotOptions" : {
"series" : {
"borderWidth" : 0,
@@ -8,9 +16,6 @@
}
}
},
- "chart" : {
- "type" : "column"
- },
"title" : {
"text" : "The Weekly Challenge Language"
},
@@ -19,14 +24,11 @@
"text" : "Total Solutions"
}
},
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2021-07-28 20:13:41 GMT"
- },
"drilldown" : {
"series" : [
{
- "name" : "001",
"id" : "001",
+ "name" : "001",
"data" : [
[
"Perl",
@@ -43,6 +45,7 @@
]
},
{
+ "name" : "002",
"data" : [
[
"Perl",
@@ -57,12 +60,10 @@
10
]
],
- "name" : "002",
"id" : "002"
},
{
"name" : "003",
- "id" : "003",
"data" : [
[
"Perl",
@@ -76,10 +77,10 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "003"
},
{
- "name" : "004",
"id" : "004",
"data" : [
[
@@ -94,11 +95,11 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "004"
},
{
"id" : "005",
- "name" : "005",
"data" : [
[
"Perl",
@@ -112,10 +113,10 @@
"Blog",
12
]
- ]
+ ],
+ "name" : "005"
},
{
- "id" : "006",
"name" : "006",
"data" : [
[
@@ -130,11 +131,11 @@
"Blog",
7
]
- ]
+ ],
+ "id" : "006"
},
{
"id" : "007",
- "name" : "007",
"data" : [
[
"Perl",
@@ -148,9 +149,11 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "007"
},
{
+ "name" : "008",
"data" : [
[
"Perl",
@@ -165,7 +168,6 @@
12
]
],
- "name" : "008",
"id" : "008"
},
{
@@ -201,10 +203,11 @@
11
]
],
- "id" : "010",
- "name" : "010"
+ "name" : "010",
+ "id" : "010"
},
{
+ "id" : "011",
"data" : [
[
"Perl",
@@ -219,12 +222,9 @@
10
]
],
- "id" : "011",
"name" : "011"
},
{
- "name" : "012",
- "id" : "012",
"data" : [
[
"Perl",
@@ -238,7 +238,9 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "012",
+ "id" : "012"
},
{
"data" : [
@@ -259,6 +261,7 @@
"id" : "013"
},
{
+ "id" : "014",
"data" : [
[
"Perl",
@@ -273,8 +276,7 @@
15
]
],
- "name" : "014",
- "id" : "014"
+ "name" : "014"
},
{
"data" : [
@@ -291,8 +293,8 @@
15
]
],
- "id" : "015",
- "name" : "015"
+ "name" : "015",
+ "id" : "015"
},
{
"data" : [
@@ -314,7 +316,6 @@
},
{
"id" : "017",
- "name" : "017",
"data" : [
[
"Perl",
@@ -328,11 +329,10 @@
"Blog",
12
]
- ]
+ ],
+ "name" : "017"
},
{
- "name" : "018",
- "id" : "018",
"data" : [
[
"Perl",
@@ -346,10 +346,11 @@
"Blog",
14
]
- ]
+ ],
+ "name" : "018",
+ "id" : "018"
},
{
- "id" : "019",
"name" : "019",
"data" : [
[
@@ -364,9 +365,11 @@
"Blog",
13
]
- ]
+ ],
+ "id" : "019"
},
{
+ "name" : "020",
"data" : [
[
"Perl",
@@ -381,12 +384,9 @@
13
]
],
- "name" : "020",
"id" : "020"
},
{
- "name" : "021",
- "id" : "021",
"data" : [
[
"Perl",
@@ -400,9 +400,12 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "021",
+ "id" : "021"
},
{
+ "name" : "022",
"data" : [
[
"Perl",
@@ -417,10 +420,10 @@
10
]
],
- "id" : "022",
- "name" : "022"
+ "id" : "022"
},
{
+ "name" : "023",
"data" : [
[
"Perl",
@@ -435,10 +438,10 @@
12
]
],
- "id" : "023",
- "name" : "023"
+ "id" : "023"
},
{
+ "id" : "024",
"data" : [
[
"Perl",
@@ -453,11 +456,9 @@
11
]
],
- "id" : "024",
"name" : "024"
},
{
- "name" : "025",
"id" : "025",
"data" : [
[
@@ -472,11 +473,11 @@
"Blog",
12
]
- ]
+ ],
+ "name" : "025"
},
{
"id" : "026",
- "name" : "026",
"data" : [
[
"Perl",
@@ -490,10 +491,10 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "026"
},
{
- "name" : "027",
"id" : "027",
"data" : [
[
@@ -508,11 +509,12 @@
"Blog",
9
]
- ]
+ ],
+ "name" : "027"
},
{
- "name" : "028",
"id" : "028",
+ "name" : "028",
"data" : [
[
"Perl",
@@ -529,6 +531,8 @@
]
},
{
+ "id" : "029",
+ "name" : "029",
"data" : [
[
"Perl",
@@ -542,13 +546,11 @@
"Blog",
12
]
- ],
- "id" : "029",
- "name" : "029"
+ ]
},
{
- "name" : "030",
"id" : "030",
+ "name" : "030",
"data" : [
[
"Perl",
@@ -566,7 +568,6 @@
},
{
"name" : "031",
- "id" : "031",
"data" : [
[
"Perl",
@@ -580,7 +581,8 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "031"
},
{
"data" : [
@@ -619,8 +621,6 @@
"id" : "033"
},
{
- "name" : "034",
- "id" : "034",
"data" : [
[
"Perl",
@@ -634,7 +634,9 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "034",
+ "id" : "034"
},
{
"data" : [
@@ -651,8 +653,8 @@
9
]
],
- "id" : "035",
- "name" : "035"
+ "name" : "035",
+ "id" : "035"
},
{
"data" : [
@@ -673,8 +675,8 @@
"id" : "036"
},
{
- "name" : "037",
"id" : "037",
+ "name" : "037",
"data" : [
[
"Perl",
@@ -691,7 +693,6 @@
]
},
{
- "id" : "038",
"name" : "038",
"data" : [
[
@@ -706,11 +707,10 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "038"
},
{
- "name" : "039",
- "id" : "039",
"data" : [
[
"Perl",
@@ -724,10 +724,11 @@
"Blog",
12
]
- ]
+ ],
+ "name" : "039",
+ "id" : "039"
},
{
- "id" : "040",
"name" : "040",
"data" : [
[
@@ -742,9 +743,12 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "040"
},
{
+ "id" : "041",
+ "name" : "041",
"data" : [
[
"Perl",
@@ -758,13 +762,11 @@
"Blog",
9
]
- ],
- "id" : "041",
- "name" : "041"
+ ]
},
{
- "name" : "042",
"id" : "042",
+ "name" : "042",
"data" : [
[
"Perl",
@@ -800,7 +802,6 @@
},
{
"name" : "044",
- "id" : "044",
"data" : [
[
"Perl",
@@ -814,11 +815,12 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "044"
},
{
- "name" : "045",
"id" : "045",
+ "name" : "045",
"data" : [
[
"Perl",
@@ -835,6 +837,7 @@
]
},
{
+ "id" : "046",
"data" : [
[
"Perl",
@@ -849,10 +852,11 @@
10
]
],
- "id" : "046",
"name" : "046"
},
{
+ "id" : "047",
+ "name" : "047",
"data" : [
[
"Perl",
@@ -866,9 +870,7 @@
"Blog",
10
]
- ],
- "name" : "047",
- "id" : "047"
+ ]
},
{
"data" : [
@@ -885,12 +887,12 @@
12
]
],
- "id" : "048",
- "name" : "048"
+ "name" : "048",
+ "id" : "048"
},
{
- "name" : "049",
"id" : "049",
+ "name" : "049",
"data" : [
[
"Perl",
@@ -921,12 +923,10 @@
12
]
],
- "id" : "050",
- "name" : "050"
+ "name" : "050",
+ "id" : "050"
},
{
- "id" : "051",
- "name" : "051",
"data" : [
[
"Perl",
@@ -940,9 +940,12 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "051",
+ "id" : "051"
},
{
+ "id" : "052",
"data" : [
[
"Perl",
@@ -957,8 +960,7 @@
14
]
],
- "name" : "052",
- "id" : "052"
+ "name" : "052"
},
{
"id" : "053",
@@ -993,10 +995,11 @@
18
]
],
- "id" : "054",
- "name" : "054"
+ "name" : "054",
+ "id" : "054"
},
{
+ "name" : "055",
"data" : [
[
"Perl",
@@ -1011,12 +1014,11 @@
14
]
],
- "name" : "055",
"id" : "055"
},
{
- "name" : "056",
"id" : "056",
+ "name" : "056",
"data" : [
[
"Perl",
@@ -1033,6 +1035,8 @@
]
},
{
+ "id" : "057",
+ "name" : "057",
"data" : [