diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-05-25 15:43:17 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-25 15:43:17 +0100 |
| commit | b92beba9030e22bf7e9a2c0d1eccaf5d04b811ea (patch) | |
| tree | 2ae7b5e95e34a342334d3f5d1b8ca6204448be25 | |
| parent | 2e497515281299bc2e0fe428aa67dd564181f238 (diff) | |
| parent | f2ff5593bf3a34b90449255c10dae2a3173d7e1f (diff) | |
| download | perlweeklychallenge-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-x | challenge-114/perlboy1967/perl/ch-1.pl | 36 | ||||
| -rwxr-xr-x | challenge-114/perlboy1967/perl/ch-2.pl | 37 |
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; +} + |
