blob: a91912a2e4a1f11f521b69c6e683c42b357882e1 (
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
|
#!/usr/bin/env perl6
#| Prints a multiplication table with only the top half of the triangle
sub MAIN (
Int $max where * > 0 = 11, #= The max number of the multiplication table (defaults to 11)
--> Nil
) {
my @range = 1 .. $max;
my $spacing = @range[*-1]².chars + 1;
print ' x|';
print sprintf('%' ~ $spacing ~ 's', $_) for @range;
print "\n";
print '--+';
say [x] «
-
$spacing
@range.elems()
»;
for @range -> $a {
print sprintf('%2s|', $a);
for @range -> $b {
print sprintf('%' ~ $spacing ~ 's', $a ≤ $b ?? $a * $b !! '');
}
print "\n";
}
}
|