aboutsummaryrefslogtreecommitdiff
path: root/challenge-114
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2021-05-30 23:44:23 -0400
committerJaldhar H. Vyas <jaldhar@braincells.com>2021-05-30 23:44:23 -0400
commit4db0d027abbe8b84f1497dcb6fc25dc26f04f4c9 (patch)
treed12da387afb58f096e606c89aa36bacf1d2a182a /challenge-114
parentaa519f5a1be2a316fe104086fc1eb52e3a819dcc (diff)
downloadperlweeklychallenge-club-4db0d027abbe8b84f1497dcb6fc25dc26f04f4c9.tar.gz
perlweeklychallenge-club-4db0d027abbe8b84f1497dcb6fc25dc26f04f4c9.tar.bz2
perlweeklychallenge-club-4db0d027abbe8b84f1497dcb6fc25dc26f04f4c9.zip
Challenge 114 by Jaldhar H. Vyas
Diffstat (limited to 'challenge-114')
-rw-r--r--challenge-114/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-114/jaldhar-h-vyas/perl/ch-1.pl9
-rwxr-xr-xchallenge-114/jaldhar-h-vyas/perl/ch-2.pl13
-rwxr-xr-xchallenge-114/jaldhar-h-vyas/raku/ch-1.raku7
-rwxr-xr-xchallenge-114/jaldhar-h-vyas/raku/ch-2.raku12
5 files changed, 42 insertions, 0 deletions
diff --git a/challenge-114/jaldhar-h-vyas/blog.txt b/challenge-114/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..53b70c07a8
--- /dev/null
+++ b/challenge-114/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2021/05/perl_weekly_challenge_week_114.html
diff --git a/challenge-114/jaldhar-h-vyas/perl/ch-1.pl b/challenge-114/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..15be5e1127
--- /dev/null
+++ b/challenge-114/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,9 @@
+#!/usr/bin/perl
+use 5.020;
+use warnings;
+
+my $N = shift // die "Need integer argument\n";
+
+my $next = $N + 1;
+do $next++ until $next == reverse $next;
+say $next;
diff --git a/challenge-114/jaldhar-h-vyas/perl/ch-2.pl b/challenge-114/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..123cb1cef6
--- /dev/null
+++ b/challenge-114/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/perl
+use 5.020;
+use warnings;
+
+my $N = shift // die "Need integer argument\n";
+my $rightmostOneBit = $N & -$N;
+my $nextHigherOneBit = $N + $rightmostOneBit;
+my $rightOnesSequence = $N ^ $nextHigherOneBit;
+
+$rightOnesSequence /= $rightmostOneBit;
+$rightOnesSequence >>= 2;
+
+say $nextHigherOneBit | $rightOnesSequence;
diff --git a/challenge-114/jaldhar-h-vyas/raku/ch-1.raku b/challenge-114/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..1c5c541ecc
--- /dev/null
+++ b/challenge-114/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,7 @@
+#!/usr/bin/raku
+
+sub MAIN(Int $N) {
+ my $next = $N + 1;
+ do $next++ until $next == $next.flip;
+ say $next;
+} \ No newline at end of file
diff --git a/challenge-114/jaldhar-h-vyas/raku/ch-2.raku b/challenge-114/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..59bea95143
--- /dev/null
+++ b/challenge-114/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,12 @@
+#!/usr/bin/raku
+
+sub MAIN(Int $N) {
+ my $rightmostOneBit = $N +& -$N;
+ my $nextHigherOneBit = $N + $rightmostOneBit;
+ my $rightOnesSequence = $N +^ $nextHigherOneBit;
+
+ $rightOnesSequence /= $rightmostOneBit;
+ $rightOnesSequence +>= 2;
+
+ say $nextHigherOneBit +| $rightOnesSequence;
+} \ No newline at end of file