blob: 076ed740b41955f589e8d23354f1aee257aeae3e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#! /usr/bin/env perl
use strict;
use feature 'say';
my $N = shift(@ARGV) // die 'Please specify $N';
my $verbose;
my $upto;
while ($N eq "--verbose" || $N eq "-v" || $N eq "--upto" || $N eq "-u")
{
$verbose++ if $N eq "--verbose" || $N eq "-v";
$upto++ if $N eq "--upto" || $N eq "-u";
$N = shift(@ARGV) // die 'Please specify $N';
}
die '$N must be an integer >= 1' unless int($N) == $N && $N >= 1;
my $faculty = 1;
for my $value (1 .. $N)
{
$faculty *= $value;
if ($upto || $value == $N)
{
say ": $value Faculty: $faculty" if $verbose;
$faculty =~ /(0*)$/;
say length $1;
}
}
|