aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-05-25 15:43:17 +0100
committerGitHub <noreply@github.com>2021-05-25 15:43:17 +0100
commitb92beba9030e22bf7e9a2c0d1eccaf5d04b811ea (patch)
tree2ae7b5e95e34a342334d3f5d1b8ca6204448be25
parent2e497515281299bc2e0fe428aa67dd564181f238 (diff)
parentf2ff5593bf3a34b90449255c10dae2a3173d7e1f (diff)
downloadperlweeklychallenge-club-b92beba9030e22bf7e9a2c0d1eccaf5d04b811ea.tar.gz
perlweeklychallenge-club-b92beba9030e22bf7e9a2c0d1eccaf5d04b811ea.tar.bz2
perlweeklychallenge-club-b92beba9030e22bf7e9a2c0d1eccaf5d04b811ea.zip
Merge pull request #4147 from PerlBoy1967/branch-for-challenge-114
Task 1 & 2
-rwxr-xr-xchallenge-114/perlboy1967/perl/ch-1.pl36
-rwxr-xr-xchallenge-114/perlboy1967/perl/ch-2.pl37
2 files changed, 73 insertions, 0 deletions
diff --git a/challenge-114/perlboy1967/perl/ch-1.pl b/challenge-114/perlboy1967/perl/ch-1.pl
new file mode 100755
index 0000000000..435ad84539
--- /dev/null
+++ b/challenge-114/perlboy1967/perl/ch-1.pl
@@ -0,0 +1,36 @@
+#!/usr/bin/perl
+
+# Perl Weekly Challenge - 114
+# - https://perlweeklychallenge.org/blog/perl-weekly-challenge-114/#TASK1
+#
+# Task 1 - Next Palindrome Number
+#
+# Author: Niels 'PerlBoy' van Dijke
+
+use v5.16;
+use strict;
+use warnings;
+
+use Test::More;
+
+# Prototype(s)
+sub nextPalindromeNumber($);
+
+my %tests = (1234 => 1331, 999 => 1001, 54321 => 54345);
+
+foreach my $test (keys %tests) {
+ is(nextPalindromeNumber($test), $tests{$test});
+}
+
+done_testing;
+
+sub nextPalindromeNumber($) {
+ my ($n) = @_;
+
+ do {
+ $n++;
+ } while ($n != reverse scalar $n);
+
+ return $n;
+}
+
diff --git a/challenge-114/perlboy1967/perl/ch-2.pl b/challenge-114/perlboy1967/perl/ch-2.pl
new file mode 100755
index 0000000000..17d5c28075
--- /dev/null
+++ b/challenge-114/perlboy1967/perl/ch-2.pl
@@ -0,0 +1,37 @@
+#!/usr/bin/perl
+
+# Perl Weekly Challenge - 114
+# - https://perlweeklychallenge.org/blog/perl-weekly-challenge-114/#TASK2
+#
+# Task 2 - HigherIntegerSetBits
+#
+# Author: Niels 'PerlBoy' van Dijke
+
+use v5.16;
+use strict;
+use warnings;
+
+use Test::More;
+
+# Prototype(s)
+sub higherIntegerSetBits($);
+
+my %tests = (3 => 5, 12 => 17, 127 => 191, 666 => 668);
+
+foreach my $test (keys %tests) {
+ is(higherIntegerSetBits($test), $tests{$test});
+}
+
+done_testing;
+
+sub higherIntegerSetBits($) {
+ my ($n) = @_;
+
+ my $nBitsSet = scalar(grep/1/,split(//,sprintf('%b',$n)));
+ do {
+ $n++;
+ } while ($nBitsSet != scalar(grep/1/,split(//,sprintf('%b',$n))));
+
+ return $n;
+}
+