From b09c37a6a9ed4cf2f1fe19862649744284436066 Mon Sep 17 00:00:00 2001 From: Luis Mochan Date: Wed, 7 Jul 2021 08:17:53 -0500 Subject: Add solutions to PWC220 --- challenge-120/wlmb/blog.txt | 1 + challenge-120/wlmb/perl/ch-1.pl | 15 +++++++++++++++ challenge-120/wlmb/perl/ch-2.pl | 15 +++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 challenge-120/wlmb/blog.txt create mode 100755 challenge-120/wlmb/perl/ch-1.pl create mode 100755 challenge-120/wlmb/perl/ch-2.pl diff --git a/challenge-120/wlmb/blog.txt b/challenge-120/wlmb/blog.txt new file mode 100644 index 0000000000..4d68823f77 --- /dev/null +++ b/challenge-120/wlmb/blog.txt @@ -0,0 +1 @@ +https://wlmb.github.io/2021/07/07/PWC120/ diff --git a/challenge-120/wlmb/perl/ch-1.pl b/challenge-120/wlmb/perl/ch-1.pl new file mode 100755 index 0000000000..5997b2ec12 --- /dev/null +++ b/challenge-120/wlmb/perl/ch-1.pl @@ -0,0 +1,15 @@ +#!/usr/bin/env perl +# Perl weekly challenge 120 +# Task 1: Swap odd/even bits +# +# See https://wlmb.github.io/2021/07/07/PWC220/#task-2-swap-even-odd-bits +use strict; +use warnings; +use v5.12; +use List::Util qw(all); +my $odd=170; # 10101010 +my $even=85; # 01010101 + +say "Input: $_, Output: ", + 0<=$_<=255?((($_&$odd)>>1) |(($_&$even)<<1)):"Invalid" + for @ARGV; diff --git a/challenge-120/wlmb/perl/ch-2.pl b/challenge-120/wlmb/perl/ch-2.pl new file mode 100755 index 0000000000..bc3a3d07f4 --- /dev/null +++ b/challenge-120/wlmb/perl/ch-2.pl @@ -0,0 +1,15 @@ +#!/usr/bin/env perl +# Perl weekly challenge 120 +# Task 2: Clock angle +# +# See https://wlmb.github.io/2021/07/07/PWC220/#task-2-clock-angle +use strict; +use warnings; +use v5.12; + +for(@ARGV){ + say "Wrong format: $_", next unless $_=~m/^(\d?\d):(\d\d)$/; + my $angle=(30*($1+$2/60)-$2*6)%360; + $angle=360-$angle if $angle>180; + say "Input: $_, Output: $angle"; +} -- cgit From bd0817aff9d4d07d1d5e23e4f0cef6c64904fede Mon Sep 17 00:00:00 2001 From: Luis Mochan Date: Wed, 7 Jul 2021 08:23:50 -0500 Subject: Fix link --- challenge-120/wlmb/perl/ch-1.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-120/wlmb/perl/ch-1.pl b/challenge-120/wlmb/perl/ch-1.pl index 5997b2ec12..055f639df3 100755 --- a/challenge-120/wlmb/perl/ch-1.pl +++ b/challenge-120/wlmb/perl/ch-1.pl @@ -2,7 +2,7 @@ # Perl weekly challenge 120 # Task 1: Swap odd/even bits # -# See https://wlmb.github.io/2021/07/07/PWC220/#task-2-swap-even-odd-bits +# See https://wlmb.github.io/2021/07/07/PWC220/#task-2-swap-oddeven-bits use strict; use warnings; use v5.12; -- cgit From 438a3d43a1082464d37b8e842fd6ecf2f1811682 Mon Sep 17 00:00:00 2001 From: Luis Mochan Date: Wed, 7 Jul 2021 08:26:59 -0500 Subject: Fix link again --- challenge-120/wlmb/perl/ch-1.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-120/wlmb/perl/ch-1.pl b/challenge-120/wlmb/perl/ch-1.pl index 055f639df3..aaa02c3606 100755 --- a/challenge-120/wlmb/perl/ch-1.pl +++ b/challenge-120/wlmb/perl/ch-1.pl @@ -2,7 +2,7 @@ # Perl weekly challenge 120 # Task 1: Swap odd/even bits # -# See https://wlmb.github.io/2021/07/07/PWC220/#task-2-swap-oddeven-bits +# See https://wlmb.github.io/2021/07/07/PWC220/#task-1-swap-oddeven-bits use strict; use warnings; use v5.12; -- cgit From d8bf5857b566e4edc51de18eb44e7aa0bd79e88c Mon Sep 17 00:00:00 2001 From: Luis Mochan Date: Wed, 7 Jul 2021 08:33:49 -0500 Subject: Add constrictions --- challenge-120/wlmb/perl/ch-2.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/challenge-120/wlmb/perl/ch-2.pl b/challenge-120/wlmb/perl/ch-2.pl index bc3a3d07f4..322dff94c2 100755 --- a/challenge-120/wlmb/perl/ch-2.pl +++ b/challenge-120/wlmb/perl/ch-2.pl @@ -8,7 +8,9 @@ use warnings; use v5.12; for(@ARGV){ - say "Wrong format: $_", next unless $_=~m/^(\d?\d):(\d\d)$/; + say "Wrong format: $_", next + unless $_=~m/^(\d?\d):(\d\d)$/ + && 0<=$1<=24 && 0<=$1<60; # <24? my $angle=(30*($1+$2/60)-$2*6)%360; $angle=360-$angle if $angle>180; say "Input: $_, Output: $angle"; -- cgit From 0a97cb0ff5d0f1e75c02bf7d96b12cec704b0299 Mon Sep 17 00:00:00 2001 From: Luis Mochan Date: Wed, 7 Jul 2021 09:09:10 -0500 Subject: Fix links again! --- challenge-120/wlmb/perl/ch-1.pl | 2 +- challenge-120/wlmb/perl/ch-2.pl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/challenge-120/wlmb/perl/ch-1.pl b/challenge-120/wlmb/perl/ch-1.pl index aaa02c3606..e8a1b5f28b 100755 --- a/challenge-120/wlmb/perl/ch-1.pl +++ b/challenge-120/wlmb/perl/ch-1.pl @@ -2,7 +2,7 @@ # Perl weekly challenge 120 # Task 1: Swap odd/even bits # -# See https://wlmb.github.io/2021/07/07/PWC220/#task-1-swap-oddeven-bits +# See https://wlmb.github.io/2021/07/07/PWC120/#task-1-swap-oddeven-bits use strict; use warnings; use v5.12; diff --git a/challenge-120/wlmb/perl/ch-2.pl b/challenge-120/wlmb/perl/ch-2.pl index 322dff94c2..7c71c473e2 100755 --- a/challenge-120/wlmb/perl/ch-2.pl +++ b/challenge-120/wlmb/perl/ch-2.pl @@ -2,7 +2,7 @@ # Perl weekly challenge 120 # Task 2: Clock angle # -# See https://wlmb.github.io/2021/07/07/PWC220/#task-2-clock-angle +# See https://wlmb.github.io/2021/07/07/PWC120/#task-2-clock-angle use strict; use warnings; use v5.12; -- cgit