diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-03-01 17:20:12 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-01 17:20:12 +0000 |
| commit | d39bf3ced7f4d5fc18de111ffbd2ddec4c4e7b87 (patch) | |
| tree | eb5eb4b360353f60dcc571e673c1367b0499bc52 | |
| parent | 99ab7f9e254c3a0dc8487226123d2178e3adac59 (diff) | |
| parent | fb336b6a2b1db6345faa55660438eeec5222ac3d (diff) | |
| download | perlweeklychallenge-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.pl | 44 |
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(); + } +} |
