aboutsummaryrefslogtreecommitdiff
path: root/challenge-120
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-07-10 13:26:37 +0100
committerGitHub <noreply@github.com>2021-07-10 13:26:37 +0100
commit7300fc714b11e0b2be8d3a5f775f4db4761108a1 (patch)
tree446135647a8a284212df4750540a21e5736aeaaf /challenge-120
parent0d30b14ed649ce02f509dc8d61a9589a744f72ca (diff)
parentd18c77b1aedd11177a63ddbe70e4c34c07ce3ccd (diff)
downloadperlweeklychallenge-club-7300fc714b11e0b2be8d3a5f775f4db4761108a1.tar.gz
perlweeklychallenge-club-7300fc714b11e0b2be8d3a5f775f4db4761108a1.tar.bz2
perlweeklychallenge-club-7300fc714b11e0b2be8d3a5f775f4db4761108a1.zip
Merge pull request #4470 from wambash/challenge-week-120
solutions week 120
Diffstat (limited to 'challenge-120')
-rw-r--r--challenge-120/wambash/raku/ch-1.raku21
-rw-r--r--challenge-120/wambash/raku/ch-2.raku19
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-120/wambash/raku/ch-1.raku b/challenge-120/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..2dbb8d2a92
--- /dev/null
+++ b/challenge-120/wambash/raku/ch-1.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/env raku
+
+sub swap-odd-even-bits ($n) {
+ my $odd = $n +& 0b01010101 ;
+ my $even = $n +& 0b10101010 ;
+ $odd +< 1 +| $even +> 1
+}
+
+multi MAIN (Int $n ) {
+ say swap-odd-even-bits $n;
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is swap-odd-even-bits(101), 154;
+ is swap-odd-even-bits(18), 33;
+ is swap-odd-even-bits(255), 255;
+ is swap-odd-even-bits(1), 2;
+ is swap-odd-even-bits(2), 1;
+ done-testing;
+}
diff --git a/challenge-120/wambash/raku/ch-2.raku b/challenge-120/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..249304719f
--- /dev/null
+++ b/challenge-120/wambash/raku/ch-2.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+multi clock-angle ($h, $m) {
+ $h*30+$m*(-11/2)
+ andthen .abs
+ andthen $_ min 360 - $_
+}
+
+multi MAIN ($s ) {
+ say clock-angle |$s.split: ':';
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is clock-angle(3,10), 35;
+ is clock-angle(4,0), 120;
+ is clock-angle(3,49+1/11), 180;
+ done-testing;
+}