diff options
| author | WmMonty <montgomery.west@gmail.com> | 2020-08-06 10:08:12 -0700 |
|---|---|---|
| committer | WmMonty <montgomery.west@gmail.com> | 2020-08-06 10:08:12 -0700 |
| commit | a0ff0c6a39229588250a8d4b6a0bdbf48f04a01f (patch) | |
| tree | fb145a05a82d233fc519d3547068ff7e614ddffb | |
| parent | e08b42ecae515d2f138ed9775adc85d430e8c5b1 (diff) | |
| download | perlweeklychallenge-club-a0ff0c6a39229588250a8d4b6a0bdbf48f04a01f.tar.gz perlweeklychallenge-club-a0ff0c6a39229588250a8d4b6a0bdbf48f04a01f.tar.bz2 perlweeklychallenge-club-a0ff0c6a39229588250a8d4b6a0bdbf48f04a01f.zip | |
Commit for weekly challenge.
| -rw-r--r-- | challenge-072/WmMonty/README | 1 | ||||
| -rwxr-xr-x | challenge-072/WmMonty/perl/ch-1.pl | 54 |
2 files changed, 55 insertions, 0 deletions
diff --git a/challenge-072/WmMonty/README b/challenge-072/WmMonty/README new file mode 100644 index 0000000000..ca8d28a678 --- /dev/null +++ b/challenge-072/WmMonty/README @@ -0,0 +1 @@ +Solution by Will West diff --git a/challenge-072/WmMonty/perl/ch-1.pl b/challenge-072/WmMonty/perl/ch-1.pl new file mode 100755 index 0000000000..49022b2e6e --- /dev/null +++ b/challenge-072/WmMonty/perl/ch-1.pl @@ -0,0 +1,54 @@ +#!/usr/bin/perl +use 5.28.1; +use warnings; +use Data::Dumper; +use Scalar::Util "looks_like_number"; + +#You are given a positive integer $N (< 11). +# +#Write a script to print number of trailing zeroes in $N!. + + +#get value +#test for in range + +#calculate factorial +#gen num trailing 0's +#say num +# + + +say int numberoftrailingzeroesfrom (afactorialof (anumberoftenorless (frominput()))); + + + +sub frominput{ + my $input =shift @ARGV; + die "You forgot to give me a value, dummy!" unless defined $input; + $input +} + +sub anumberoftenorless{ + my $value = pop; + die "\"$value\" isn't a number, dimbulb!" unless looks_like_number $value; + die "$value needs to be equal to or less than 10, you dolt." if $value > 10; + $value +} + +sub afactorialof{ + my $value = pop; + # 0! = 1, it turns out, so this logic works fine. + my $factorialized=1; + $factorialized *= $_ for 2 .. $value; + $factorialized +} + +sub numberoftrailingzeroesfrom{ + my $number = pop; + print "$number has how many trailing zeroes? "; + $number =~ /(0*$)/; + split '', $1 +} + + + |
