aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-03-01 17:20:12 +0000
committerGitHub <noreply@github.com>2020-03-01 17:20:12 +0000
commitd39bf3ced7f4d5fc18de111ffbd2ddec4c4e7b87 (patch)
treeeb5eb4b360353f60dcc571e673c1367b0499bc52
parent99ab7f9e254c3a0dc8487226123d2178e3adac59 (diff)
parentfb336b6a2b1db6345faa55660438eeec5222ac3d (diff)
downloadperlweeklychallenge-club-d39bf3ced7f4d5fc18de111ffbd2ddec4c4e7b87.tar.gz
perlweeklychallenge-club-d39bf3ced7f4d5fc18de111ffbd2ddec4c4e7b87.tar.bz2
perlweeklychallenge-club-d39bf3ced7f4d5fc18de111ffbd2ddec4c4e7b87.zip
Merge pull request #1335 from Cris-HD/branch-for-challenge-049
Added challenge
-rw-r--r--challenge-049/cristian-heredia/perl/ch-1.pl44
1 files changed, 44 insertions, 0 deletions
diff --git a/challenge-049/cristian-heredia/perl/ch-1.pl b/challenge-049/cristian-heredia/perl/ch-1.pl
new file mode 100644
index 0000000000..7e2651b6bc
--- /dev/null
+++ b/challenge-049/cristian-heredia/perl/ch-1.pl
@@ -0,0 +1,44 @@
+use strict;
+use warnings;
+no warnings 'recursion';
+
+#Smallest Multiple
+#Write a script to accept a positive number as command line argument and print the smallest multiple of the given number consists of digits 0 and 1.
+
+#For example:
+
+#For given number 55, the smallest multiple is 110 consisting of digits 0 and 1.
+my $number;
+my $result;
+my $multiple = 2;
+
+requestNumber();
+sub requestNumber {
+ print "Enter a positive number:\n";
+ $number = <STDIN>;
+ checkNumber();
+}
+
+sub checkNumber {
+ if ( $number =~ /^\+?\d+$/ ) {
+ smallestMultiple();
+ } else {
+ requestNumber();
+ }
+}
+
+sub smallestMultiple {
+ $result = $number * $multiple;
+ checkValues();
+}
+
+sub checkValues {
+ if ( $result =~ /^[01]+$/ ) {
+ $number=~ s/^\s+|\s+$//g;
+ print "The smallest multiple is $result\n$number * $multiple = $result\n";
+ }
+ else {
+ $multiple++;
+ smallestMultiple();
+ }
+}