-
Notifications
You must be signed in to change notification settings - Fork 0
/
run_subs.pl
executable file
·106 lines (90 loc) · 1.98 KB
/
run_subs.pl
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#!/usr/bin/perl
use strict;
use warnings;
# Add the local directory's absolute path to @INC.
use Cwd qw(abs_path cwd);
use File::Basename "dirname";
use lib dirname(abs_path($0));
use Math qw(average factorial gcd lcm);
use Misc qw(is_leap_year print_array swap_scalars);
sub run_average {
print "Average of ". join(", ", @_) . ": " . average(@_) . "\n";
}
sub run_factorial {
my $number = $_[0];
print "$number! = " . factorial($number) . "\n";
}
sub run_gcd {
print "gcd(" . join(", ", @_) . ") = " . gcd(@_) . "\n";
}
sub run_is_leap_year {
my $year = $_[0];
print "Leap year $year: " . is_leap_year($year) . "\n";
}
sub run_lcm {
print "lcm(" . join(", ", @_) . ") = " . lcm(@_) . "\n";
}
sub run_swap_scalars {
my ($a, $b) = @_;
print "a: $a, b: $b";
swap_scalars(\$a, \$b);
print " => a: $a, b: $b\n";
}
print "\@INC:\n";
print_array(@INC);
print "\n";
run_average(12, 30, 53, 18, 76, 92, 45);
print "\n";
run_factorial(17);
run_factorial(18);
run_factorial(19);
run_factorial(20);
run_factorial(21);
print "\n";
run_gcd(56, 72);
run_gcd(-56, 72);
run_gcd(960, 756);
run_gcd(780, -960);
run_gcd(51, 21);
run_gcd(24, 85);
run_gcd(-16, 48, 24);
run_gcd(32, 84, 108);
run_gcd(64, 56, 144, 72);
run_gcd(27, 96, 48, 60);
run_gcd(96, 48, 60);
run_gcd(8, 40, 100);
run_gcd(23);
print "\n";
run_is_leap_year(2004);
run_is_leap_year(2001);
run_is_leap_year(2000);
run_is_leap_year(1999);
run_is_leap_year(1996);
run_is_leap_year(1900);
run_is_leap_year(476);
run_is_leap_year(12);
run_is_leap_year(6);
run_is_leap_year(4);
run_is_leap_year(1);
run_is_leap_year(0);
run_is_leap_year(-1);
run_is_leap_year(-4);
run_is_leap_year(-6);
run_is_leap_year(-12);
run_is_leap_year(-753);
run_is_leap_year(-1900);
run_is_leap_year(-1996);
run_is_leap_year(-1999);
run_is_leap_year(-2000);
run_is_leap_year(-2001);
run_is_leap_year(-2004);
print "\n";
run_lcm(2, 3, 4, 5, 7);
run_lcm(36, 48);
run_lcm(12, 18);
run_lcm(36, 8);
run_lcm(19);
print "\n";
run_swap_scalars(7, 11);
run_swap_scalars("abc", "xyz");
print "\n";