aboutsummaryrefslogtreecommitdiff
path: root/challenge-052/mohammad-anwar
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-03-16 19:35:51 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-03-16 19:35:51 +0000
commit27a4353559838cbdd2fbf79c7ab02c7a2e810d8d (patch)
treed14668a460e1115540d50c6c41e81c141b52ac6b /challenge-052/mohammad-anwar
parentf5d794c96a7325fcd77486e8f641033c7e27efac (diff)
downloadperlweeklychallenge-club-27a4353559838cbdd2fbf79c7ab02c7a2e810d8d.tar.gz
perlweeklychallenge-club-27a4353559838cbdd2fbf79c7ab02c7a2e810d8d.tar.bz2
perlweeklychallenge-club-27a4353559838cbdd2fbf79c7ab02c7a2e810d8d.zip
- Added solution to Stepping Numbers.
Diffstat (limited to 'challenge-052/mohammad-anwar')
-rw-r--r--challenge-052/mohammad-anwar/perl/ch-1.pl24
1 files changed, 24 insertions, 0 deletions
diff --git a/challenge-052/mohammad-anwar/perl/ch-1.pl b/challenge-052/mohammad-anwar/perl/ch-1.pl
new file mode 100644
index 0000000000..fe0c399a62
--- /dev/null
+++ b/challenge-052/mohammad-anwar/perl/ch-1.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+my $start = $ARGV[0] || 100;
+my $stop = $ARGV[1] || 999;
+
+die "ERROR: Invalid start number [$start]\n"
+ unless ($start >= 100 &&
+ $start <= 999);
+die "ERROR: Invalid stop number [$stop]\n"
+ unless ($start <= $stop &&
+ $stop >= 100 &&
+ $stop <= 999);
+
+while ($start <= $stop) {
+ my ($d1, $d2, $d3) = split //, $start, 3;
+ if ( ((($d1 - $d2) == 1) && (($d2 - $d3) == 1))
+ || ((($d2 - $d1) == 1) && (($d3 - $d2) == 1)) ) {
+ print "$start\n";
+ }
+ $start++;
+}