aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-05-24 09:47:09 +0100
committerGitHub <noreply@github.com>2021-05-24 09:47:09 +0100
commit7457664458c08e05beec3f1f9396508791c93913 (patch)
treeac024ddf44797a2ca2af5177faab6294c3bc74cf
parentc61ba475fd263546925b47f264825a44477622e0 (diff)
parent68995345f41727a241644e976e76f5d40f84cd6b (diff)
downloadperlweeklychallenge-club-7457664458c08e05beec3f1f9396508791c93913.tar.gz
perlweeklychallenge-club-7457664458c08e05beec3f1f9396508791c93913.tar.bz2
perlweeklychallenge-club-7457664458c08e05beec3f1f9396508791c93913.zip
Merge pull request #4131 from davorg/master
Solutions for challenge #114
-rw-r--r--challenge-114/dave-cross/ch-1.pl24
-rw-r--r--challenge-114/dave-cross/ch-2.pl34
2 files changed, 58 insertions, 0 deletions
diff --git a/challenge-114/dave-cross/ch-1.pl b/challenge-114/dave-cross/ch-1.pl
new file mode 100644
index 0000000000..8846c2c632
--- /dev/null
+++ b/challenge-114/dave-cross/ch-1.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use feature 'say';
+
+my $n = get_arg();
+
+while (1) {
+ ++$n;
+
+ if ($n == reverse $n) {
+ say $n;
+ last;
+ }
+}
+
+sub get_arg {
+ if (!@ARGV or $ARGV[0] =~ /\D/) {
+ die "Give me a positive integer\n";
+ }
+
+ return $ARGV[0];
+}
diff --git a/challenge-114/dave-cross/ch-2.pl b/challenge-114/dave-cross/ch-2.pl
new file mode 100644
index 0000000000..74a508aa22
--- /dev/null
+++ b/challenge-114/dave-cross/ch-2.pl
@@ -0,0 +1,34 @@
+#!/use/bin/perl
+
+use strict;
+use warnings;
+use feature 'say';
+
+my $n = get_arg();
+
+my $count = get_set_bits($n);
+
+while (1) {
+ $n++;
+
+ if (get_set_bits($n) == $count) {
+ say $n;
+ last;
+ }
+}
+
+sub get_arg {
+ if (!@ARGV or $ARGV[0] =~ /\D/) {
+ die "Give me a positive integer\n";
+ }
+
+ return $ARGV[0];
+}
+
+sub get_set_bits {
+ my ($dec) = @_;
+
+ my $bin = sprintf '%b', $dec;
+
+ return scalar $bin =~ tr/1//;
+}