aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-07-18 13:22:21 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-07-18 13:22:21 +0100
commitf2bb0a63740147a21e02d78147d4fdbba2ad1070 (patch)
tree6b10b979a37aaeb73e7d9ddc42a891df470aeec9
parent273657a740125b7f5ca3f3960e1511ff1523d4a6 (diff)
downloadperlweeklychallenge-club-f2bb0a63740147a21e02d78147d4fdbba2ad1070.tar.gz
perlweeklychallenge-club-f2bb0a63740147a21e02d78147d4fdbba2ad1070.tar.bz2
perlweeklychallenge-club-f2bb0a63740147a21e02d78147d4fdbba2ad1070.zip
- Added solutions by Laurent Rosenfeld.
-rw-r--r--challenge-121/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-121/laurent-rosenfeld/perl/ch-1.pl25
-rw-r--r--challenge-121/laurent-rosenfeld/raku/ch-1.raku15
-rw-r--r--stats/pwc-current.json217
-rw-r--r--stats/pwc-language-breakdown-summary.json70
-rw-r--r--stats/pwc-language-breakdown.json772
-rw-r--r--stats/pwc-leaders.json334
-rw-r--r--stats/pwc-summary-1-30.json30
-rw-r--r--stats/pwc-summary-121-150.json110
-rw-r--r--stats/pwc-summary-151-180.json96
-rw-r--r--stats/pwc-summary-181-210.json96
-rw-r--r--stats/pwc-summary-211-240.json42
-rw-r--r--stats/pwc-summary-31-60.json92
-rw-r--r--stats/pwc-summary-61-90.json46
-rw-r--r--stats/pwc-summary-91-120.json38
-rw-r--r--stats/pwc-summary.json50
16 files changed, 1049 insertions, 985 deletions
diff --git a/challenge-121/laurent-rosenfeld/blog.txt b/challenge-121/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..fccdf6988c
--- /dev/null
+++ b/challenge-121/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/laurent_r/2021/07/perl-weekly-challenge-121-invert-bit.html
diff --git a/challenge-121/laurent-rosenfeld/perl/ch-1.pl b/challenge-121/laurent-rosenfeld/perl/ch-1.pl
new file mode 100644
index 0000000000..f7964d39f6
--- /dev/null
+++ b/challenge-121/laurent-rosenfeld/perl/ch-1.pl
@@ -0,0 +1,25 @@
+use strict;
+use warnings;
+use feature qw/say/;
+
+sub bin2dec {
+ my $bin = shift;
+ my $sum = 0;
+ for my $i (split //, $bin) {
+ $sum = $sum * 2 + $i;
+ }
+ return $sum;
+}
+
+sub invert_bit {
+ my ($m, $n) = @_;
+ my $bin = sprintf "%08b", $m;
+ # say $bin;
+ my $bit = substr $bin, -$n, 1;
+ substr $bin, -$n, 1, $bit == 0 ? 1 : 0;
+ # say $bin;
+ return bin2dec $bin;
+}
+for my $pair ( [12, 3], [18, 4], [249, 1] ) {
+ say "@$pair => ", invert_bit @$pair;
+}
diff --git a/challenge-121/laurent-rosenfeld/raku/ch-1.raku b/challenge-121/laurent-rosenfeld/raku/ch-1.raku
new file mode 100644
index 0000000000..eee165f508
--- /dev/null
+++ b/challenge-121/laurent-rosenfeld/raku/ch-1.raku
@@ -0,0 +1,15 @@
+use v6;
+
+sub invert-bit (UInt $m where * <=255, UInt $n where 1 <= * <= 8) {
+ my $bin = $m.fmt("%08b");
+ # say $bin;
+ my $bit = $bin.substr(*-$n, 1);
+ $bin.substr-rw(*-$n, 1) = $bit == 0 ?? 1 !! 0;
+ # say $bin;
+ return $bin.parse-base(2);
+}
+for 12, 3,
+ 18, 4,
+ 249, 1 {
+ say "$^a $^b => ", invert-bit $^a, $^b;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 81aa1afed5..1f89149d32 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,22 +1,12 @@
{
- "legend" : {
- "enabled" : 0
- },
- "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
},
- "subtitle" : {
- "text" : "[Champions: 23] Last updated at 2021-07-18 12:13:37 GMT"
- },
"drilldown" : {
"series" : [
{
- "name" : "Athanasius",
"id" : "Athanasius",
"data" : [
[
@@ -27,7 +17,8 @@
"Raku",
1
]
- ]
+ ],
+ "name" : "Athanasius"
},
{
"data" : [
@@ -50,7 +41,6 @@
"name" : "Cristina Heredia"
},
{
- "id" : "Dave Jacoby",
"data" : [
[
"Perl",
@@ -61,20 +51,21 @@
1
]
],
+ "id" : "Dave Jacoby",
"name" : "Dave Jacoby"
},
{
+ "id" : "E. Choroba",
"data" : [
[
"Perl",
2
]
],
- "id" : "E. Choroba",
"name" : "E. Choroba"
},
{
- "id" : "Flavio Poletti",
+ "name" : "Flavio Poletti",
"data" : [
[
"Perl",
@@ -89,10 +80,9 @@
2
]
],
- "name" : "Flavio Poletti"
+ "id" : "Flavio Poletti"
},
{
- "name" : "James Smith",
"id" : "James Smith",
"data" : [
[
@@ -103,7 +93,8 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "James Smith"
},
{
"name" : "Jan Krnavek",
@@ -116,14 +107,14 @@
]
},
{
- "name" : "jdos22",
"id" : "jdos22",
"data" : [
[
"Perl",
1
]
- ]
+ ],
+ "name" : "jdos22"
},
{
"id" : "Jorg Sommrey",
@@ -136,26 +127,45 @@
"name" : "Jorg Sommrey"
},
{
- "id" : "Lance Wicks",
+ "name" : "Lance Wicks",
"data" : [
[
"Perl",
2
]
],
- "name" : "Lance Wicks"
+ "id" : "Lance Wicks"
+ },
+ {
+ "name" : "Laurent Rosenfeld",
+ "data" : [
+ [
+ "Perl",
+ 1
+ ],
+ [
+ "Raku",
+ 1
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "id" : "Laurent Rosenfeld"
},
{
- "name" : "Lubos Kolouch",
+ "id" : "Lubos Kolouch",
"data" : [
[
"Perl",
1
]
],
- "id" : "Lubos Kolouch"
+ "name" : "Lubos Kolouch"
},
{
+ "name" : "Luca Ferrari",
"id" : "Luca Ferrari",
"data" : [
[
@@ -166,61 +176,59 @@
"Blog",
2
]
- ],
- "name" : "Luca Ferrari"
+ ]
},
{
- "name" : "Lucas Ransan",
- "id" : "Lucas Ransan",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "id" : "Lucas Ransan",
+ "name" : "Lucas Ransan"
},
{
- "id" : "Mark Anderson",
+ "name" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
],
- "name" : "Mark Anderson"
+ "id" : "Mark Anderson"
},
{
+ "name" : "Mohammad S Anwar",
+ "id" : "Mohammad S Anwar",
"data" : [
[
"Perl",
1
]
- ],
- "id" : "Mohammad S Anwar",
- "name" : "Mohammad S Anwar"
+ ]
},
{
- "id" : "Niels van Dijke",
+ "name" : "Niels van Dijke",
"data" : [
[
"Perl",
2
]
],
- "name" : "Niels van Dijke"
+ "id" : "Niels van Dijke"
},
{
- "name" : "Paulo Custodio",
+ "id" : "Paulo Custodio",
"data" : [
[
"Perl",
2
]
],
- "id" : "Paulo Custodio"
+ "name" : "Paulo Custodio"
},
{
- "id" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -235,6 +243,7 @@
1
]
],
+ "id" : "Roger Bell_West",
"name" : "Roger Bell_West"
},
{
@@ -248,8 +257,6 @@
"name" : "Simon Proctor"
},
{
- "name" : "Stuart Little",
- "id" : "Stuart Little",
"data" : [
[
"Perl",
@@ -259,7 +266,9 @@
"Raku",
2
]
- ]
+ ],
+ "id" : "Stuart Little",
+ "name" : "Stuart Little"
},
{
"data" : [
@@ -272,7 +281,6 @@
"name" : "Ulrich Rieke"
},
{
- "id" : "W. Luis Mochan",
"data" : [
[
"Perl",
@@ -283,147 +291,162 @@
1
]
],
+ "id" : "W. Luis Mochan",
"name" : "W. Luis Mochan"
}
]
},
+ "legend" : {
+ "enabled" : 0
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
+ }
+ },
"series" : [
{
+ "colorByPoint" : 1,
+ "name" : "The Weekly Challenge - 121",
"data" : [
{
- "name" : "Athanasius",
"y" : 2,
+ "name" : "Athanasius",
"drilldown" : "Athanasius"
},
{
- "y" : 1,
"name" : "Cheok-Yin Fung",
- "drilldown" : "Cheok-Yin Fung"
+ "drilldown" : "Cheok-Yin Fung",
+ "y" : 1
},
{
- "drilldown" : "Cristina Heredia",
"y" : 1,
- "name" : "Cristina Heredia"
+ "name" : "Cristina Heredia",
+ "drilldown" : "Cristina Heredia"
},
{
- "y" : 3,
+ "drilldown" : "Dave Jacoby",
"name" : "Dave Jacoby",
- "drilldown" : "Dave Jacoby"
+ "y" : 3
},
{
"name" : "E. Choroba",
- "y" : 2,
- "drilldown" : "E. Choroba"
+ "drilldown" : "E. Choroba",
+ "y" : 2
},
{
"y" : 6,
- "name" : "Flavio Poletti",
- "drilldown" : "Flavio Poletti"
+ "drilldown" : "Flavio Poletti",
+ "name" : "Flavio Poletti"
},
{
- "drilldown" : "James Smith",
"y" : 3,
- "name" : "James Smith"
+ "name" : "James Smith",
+ "drilldown" : "James Smith"
},
{
- "name" : "Jan Krnavek",
"y" : 2,
- "drilldown" : "Jan Krnavek"
+ "drilldown" : "Jan Krnavek",
+ "name" : "Jan Krnavek"
},
{
- "y" : 1,
"name" : "jdos22",
- "drilldown" : "jdos22"
+ "drilldown" : "jdos22",
+ "y" : 1
},
{
- "drilldown" : "Jorg Sommrey",
+ "y" : 2,
"name" : "Jorg Sommrey",
- "y" : 2
+ "drilldown" : "Jorg Sommrey"
},
{
- "name" : "Lance Wicks",
"y" : 2,
- "drilldown" : "Lance Wicks"
+ "drilldown" : "Lance Wicks",
+ "name" : "Lance Wicks"
+ },
+ {
+ "name" : "Laurent Rosenfeld",
+ "drilldown" : "Laurent Rosenfeld",
+ "y" : 3
},
{
- "drilldown" : "Lubos Kolouch",
"name" : "Lubos Kolouch",
+ "drilldown" : "Lubos Kolouch",
"y" : 1
},
{
- "name" : "Luca Ferrari",
"y" : 4,
+ "name" : "Luca Ferrari",
"drilldown" : "Luca Ferrari"
},
{
- "name" : "Lucas Ransan",
"y" : 2,
- "drilldown" : "Lucas Ransan"
+ "drilldown" : "Lucas Ransan",
+ "name" : "Lucas Ransan"
},
{
+ "name" : "Mark Anderson",
"drilldown" : "Mark Anderson",
- "y" : 2,
- "name" : "Mark Anderson"
+ "y" : 2
},
{
+ "drilldown" : "Mohammad S Anwar",
"name" : "Mohammad S Anwar",
- "y" : 1,
- "drilldown" : "Mohammad S Anwar"
+ "y" : 1
},
{
+ "drilldown" : "Niels van Dijke",
"name" : "Niels van Dijke",
- "y" : 2,
- "drilldown" : "Niels van Dijke"
+ "y" : 2
},
{
- "drilldown" : "Paulo Custodio",
"y" : 2,
- "name" : "Paulo Custodio"
+ "name" : "Paulo Custodio",
+ "drilldown" : "Paulo Custodio"
},
{
"y" : 4,
- "name" : "Roger Bell_West",
- "drilldown" : "Roger Bell_West"
+ "drilldown" : "Roger Bell_West",
+ "name" : "Roger Bell_West"
},
{
- "name" : "Simon Proctor",
"y" : 1,
+ "name" : "Simon Proctor",
"drilldown" : "Simon Proctor"
},
{
- "drilldown" : "Stuart Little",
"y" : 4,
- "name" : "Stuart Little"
+ "name" : "Stuart Little",
+ "drilldown" : "Stuart Little"
},
{
"name" : "Ulrich Rieke",
- "y" : 2,
- "drilldown" : "Ulrich Rieke"
+ "drilldown" : "Ulrich Rieke",
+ "y" : 2
},
{
- "y" : 3,
"name" : "W. Luis Mochan",
- "drilldown" : "W. Luis Mochan"
+ "drilldown" : "W. Luis Mochan",
+ "y" : 3
}
- ],
- "colorByPoint" : 1,
- "name" : "The Weekly Challenge - 121"
+ ]
}
],
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
- }
+ "title" : {
+ "text" : "The Weekly Challenge - 121"
},
"xAxis" : {
"type" : "category"
},
- "title" : {
- "text" : "The Weekly Challenge - 121"
+ "subtitle" : {
+ "text" : "[Champions: 24] Last updated at 2021-07-18 12:20:22 GMT"
+ },
+ "chart" : {
+ "type" : "column"
},
"yAxis" : {
"title" : {
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index f437d70516..900fa2fb24 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,63 +1,63 @@
{
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- }
- }
- },
- "title" : {
- "text" : "The Weekly Challenge Contributions [2019 - 2021]"
+ "chart" : {
+ "type" : "column"
},
"yAxis" : {
- "min" : 0,
"title" : {
"text" : null
- }
+ },
+ "min" : 0
+ },
+ "legend" : {
+ "enabled" : "false"
},
"tooltip" : {
"pointFormat" : "<b>{point.y:.0f}</b>"
},
- "chart" : {
- "type" : "column"
+ "xAxis" : {
+ "type" : "category",
+ "labels" : {
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ }
+ }
},
- "legend" : {
- "enabled" : "false"
+ "subtitle" : {
+ "text" : "Last updated at 2021-07-18 12:20:22 GMT"
},
"series" : [
{
+ "dataLabels" : {
+ "y" : 10,
+ "format" : "{point.y:.0f}",
+ "rotation" : -90,
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ },
+ "color" : "#FFFFFF",
+ "align" : "right",
+ "enabled" : "true"
+ },
"data" : [
[
"Blog",
- 1726
+ 1727
],
[
"Perl",
- 5778
+ 5779
],
[
"Raku",
- 3617
+ 3618
]
],
- "name" : "Contributions",
- "dataLabels" : {
- "rotation" : -90,
- "format" : "{point.y:.0f}",
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- },
- "y" : 10,
- "align" : "right",
- "color" : "#FFFFFF",
- "enabled" : "true"
- }
+ "name" : "Contributions"
}
],
- "subtitle" : {
- "text" : "Last updated at 2021-07-18 12:13:37 GMT"
+ "title" : {
+ "text" : "The Weekly Challenge Contributions [2019 - 2021]"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 7823798505..f6e5db90d7 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,17 +1,14 @@
{
- "legend" : {
- "enabled" : "false"
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
},
"chart" : {
"type" : "column"
},
- "tooltip" : {
- "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>",
- "headerFormat" : "<span style=\"font-size:11px\"></span>",
- "followPointer" : "true"
- },
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2021-07-18 12:13:37 GMT"
+ "legend" : {
+ "enabled" : "false"
},
"drilldown" : {
"series" : [
@@ -34,6 +31,7 @@
"name" : "001"
},
{
+ "name" : "002",
"data" : [
[
"Perl",
@@ -48,8 +46,7 @@
10
]
],
- "id" : "002",
- "name" : "002"
+ "id" : "002"
},
{
"name" : "003",
@@ -70,6 +67,8 @@
"id" : "003"
},
{
+ "name" : "004",
+ "id" : "004",
"data" : [
[
"Perl",
@@ -83,9 +82,7 @@
"Blog",
10
]
- ],
- "id" : "004",
- "name" : "004"
+ ]
},
{
"id" : "005",
@@ -106,6 +103,7 @@
"name" : "005"
},
{
+ "id" : "006",
"data" : [
[
"Perl",
@@ -120,12 +118,10 @@
7
]
],
- "id" : "006",
"name" : "006"
},
{
"name" : "007",
- "id" : "007",
"data" : [
[
"Perl",
@@ -139,9 +135,12 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "007"
},
{
+ "name" : "008",
+ "id" : "008",
"data" : [
[
"Perl",
@@ -155,12 +154,9 @@
"Blog",
12
]
- ],
- "id" : "008",
- "name" : "008"
+ ]
},
{
- "id" : "009",
"data" : [
[
"Perl",
@@ -175,9 +171,11 @@
13
]
],
+ "id" : "009",
"name" : "009"
},
{
+ "name" : "010",
"data" : [
[
"Perl",
@@ -192,10 +190,11 @@
11
]
],
- "id" : "010",
- "name" : "010"
+ "id" : "010"
},
{
+ "name" : "011",
+ "id" : "011",
"data" : [
[
"Perl",
@@ -209,13 +208,10 @@
"Blog",
10
]
- ],
- "id" : "011",
- "name" : "011"
+ ]
},
{
"name" : "012",
- "id" : "012",
"data" : [
[
"Perl",
@@ -229,10 +225,11 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "012"
},
{
- "id" : "013",
+ "name" : "013",
"data" : [
[
"Perl",
@@ -247,10 +244,10 @@
13
]
],
- "name" : "013"
+ "id" : "013"
},
{
- "id" : "014",
+ "name" : "014",
"data" : [
[
"Perl",
@@ -265,9 +262,10 @@
15
]
],
- "name" : "014"
+ "id" : "014"
},
{
+ "id" : "015",
"data" : [
[
"Perl",
@@ -282,7 +280,6 @@
15
]
],
- "id" : "015",
"name" : "015"
},
{
@@ -304,7 +301,7 @@
"name" : "016"
},
{
- "name" : "017",
+ "id" : "017",
"data" : [
[
"Perl",
@@ -319,10 +316,9 @@
12
]
],
- "id" : "017"
+ "name" : "017"
},
{
- "id" : "018",
"data" : [
[
"Perl",
@@ -337,10 +333,11 @@
14
]
],
+ "id" : "018",
"name" : "018"
},
{
- "name" : "019",
+ "id" : "019",
"data" : [
[
"Perl",
@@ -355,7 +352,7 @@
13
]
],
- "id" : "019"
+ "name" : "019"
},
{
"data" : [
@@ -377,7 +374,6 @@
},
{
"name" : "021",
- "id" : "021",
"data" : [
[
"Perl",
@@ -391,7 +387,8 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "021"
},
{
"id" : "022",
@@ -412,7 +409,6 @@
"name" : "022"
},
{
- "name" : "023",
"id" : "023",
"data" : [
[
@@ -427,10 +423,12 @@
"Blog",
12
]
- ]
+ ],
+ "name" : "023"
},
{
"name" : "024",
+ "id" : "024",
"data" : [
[
"Perl",
@@ -444,11 +442,10 @@
"Blog",
11
]
- ],
- "id" : "024"
+ ]
},
{
- "id" : "025",
+ "name" : "025",
"data" : [
[
"Perl",
@@ -463,9 +460,11 @@
12
]
],
- "name" : "025"
+ "id" : "025"
},
{
+ "name" : "026",
+ "id" : "026",
"data" : [
[
"Perl",
@@ -479,12 +478,9 @@
"Blog",
10
]
- ],
- "id" : "026",
- "name" : "026"
+ ]
},
{
- "name" : "027",
"id" : "027",
"data" : [
[
@@ -499,11 +495,11 @@
"Blog",
9
]
- ]
+ ],
+ "name" : "027"
},
{
"name" : "028",
- "id" : "028",
"data" : [
[
"Perl",
@@ -517,9 +513,11 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "028"
},
{
+ "name" : "029",
"id" : "029",
"data" : [
[
@@ -534,8 +532,7 @@
"Blog",
12
]
- ],
- "name" : "029"
+ ]
},
{
"name" : "030",
@@ -556,8 +553,6 @@
]
},
{
- "name" : "031",
- "id" : "031",
"data" : [
[
"Perl",
@@ -571,7 +566,9 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "031",
+ "name" : "031"
},
{
"id" : "032",
@@ -592,7 +589,7 @@
"name" : "032"
},
{
- "name" : "033",
+ "id" : "033",
"data" : [
[
"Perl",
@@ -607,9 +604,10 @@
10
]
],
- "id" : "033"
+ "name" : "033"
},
{
+ "name" : "034",
"id" : "034",
"data" : [
[
@@ -624,11 +622,10 @@
"Blog",
11
]
- ],
- "name" : "034"
+ ]
},
{
- "name" : "035",
+ "id" : "035",
"data" : [
[
"Perl",
@@ -643,10 +640,9 @@
9
]
],
- "id" : "035"
+ "name" : "035"
},
{
- "id" : "036",
"data" : [
[
"Perl",
@@ -661,10 +657,10 @@
11
]
],
+ "id" : "036",
"name" : "036"
},
{
- "name" : "037",
"id" : "037",
"data" : [
[
@@ -679,10 +675,10 @@
"Blog",
9
]
- ]
+ ],
+ "name" : "037"
},