diff options
| author | Daniel Mita <mienaikage@gmail.com> | 2019-11-10 22:04:43 +0000 |
|---|---|---|
| committer | Daniel Mita <mienaikage@gmail.com> | 2019-11-10 22:08:22 +0000 |
| commit | ab803081e3008647de2b5925ca82f627a85372c0 (patch) | |
| tree | ee20a3ccef0f0f344fd49a9469a69a3c98a2b06b | |
| parent | 21eda290ff22efbacfac727c79e57e7a776427fb (diff) | |
| download | perlweeklychallenge-club-ab803081e3008647de2b5925ca82f627a85372c0.tar.gz perlweeklychallenge-club-ab803081e3008647de2b5925ca82f627a85372c0.tar.bz2 perlweeklychallenge-club-ab803081e3008647de2b5925ca82f627a85372c0.zip | |
Add Raku solution for challenge-033-2
| -rwxr-xr-x | challenge-033/daniel-mita/perl6/ch-2.p6 | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/challenge-033/daniel-mita/perl6/ch-2.p6 b/challenge-033/daniel-mita/perl6/ch-2.p6 new file mode 100755 index 0000000000..a91912a2e4 --- /dev/null +++ b/challenge-033/daniel-mita/perl6/ch-2.p6 @@ -0,0 +1,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"; + } +} |
