aboutsummaryrefslogtreecommitdiff
path: root/challenge-121/jdos22
diff options
context:
space:
mode:
authorJeff Sumner <kc4fox@gmail.com>2021-07-17 16:53:57 -0400
committerJeff Sumner <kc4fox@gmail.com>2021-07-17 16:53:57 -0400
commit9aaff28acbbfb71998d62b01dc6ca2df394eee8e (patch)
tree1f2bab89b17ee838ce9ba617b148697d813f48eb /challenge-121/jdos22
parentf9cc3fe217c2e2ffbb0b2cf7396d022a16fd4d1f (diff)
downloadperlweeklychallenge-club-9aaff28acbbfb71998d62b01dc6ca2df394eee8e.tar.gz
perlweeklychallenge-club-9aaff28acbbfb71998d62b01dc6ca2df394eee8e.tar.bz2
perlweeklychallenge-club-9aaff28acbbfb71998d62b01dc6ca2df394eee8e.zip
jdos22 challenge for Challenge 1.
Diffstat (limited to 'challenge-121/jdos22')
-rw-r--r--challenge-121/jdos22/README1
-rw-r--r--challenge-121/jdos22/perl/ch-1.pl21
2 files changed, 22 insertions, 0 deletions
diff --git a/challenge-121/jdos22/README b/challenge-121/jdos22/README
new file mode 100644
index 0000000000..d38c22f0be
--- /dev/null
+++ b/challenge-121/jdos22/README
@@ -0,0 +1 @@
+Solution by jdos22
diff --git a/challenge-121/jdos22/perl/ch-1.pl b/challenge-121/jdos22/perl/ch-1.pl
new file mode 100644
index 0000000000..9d797ccce0
--- /dev/null
+++ b/challenge-121/jdos22/perl/ch-1.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/env perl
+#
+use 5.032;
+use warnings;
+use strict;
+
+# You are given integers 0 <= $m <= 255 and 1 <= $n <= 8. Write a script to invert $n bit from the end of the binary representation of $m and print the decimal representation of the new binary number.
+#
+# Here implemented as command line options. Because it's easy.
+#
+
+my $m = shift or die "Need more numbers.";
+my $n = shift or die "Need more numbers.";
+if (($m > 255) || ($m < 0)) {die "Not in range 0 - 255."}
+if (($n > 8) || ($n < 1)) {die "Not in range 1 - 8."}
+
+my $Mask = 1;
+$Mask = ($Mask<<($n-1));
+my $Result = ($Mask ^ $m);
+
+say "New binary number is: $Result";