reversed_number_triangle.pl 505 B

1234567891011121314151617181920212223242526272829
  1. #!/usr/bin/perl
  2. # Author: Daniel "Trizen" Șuteu
  3. # License: GPLv3
  4. # Date: 26 July 2015
  5. # Website: https://github.com/trizen
  6. # Generate a "reversed" number triangle.
  7. my $rows = 6;
  8. my @arr = ([1]);
  9. my $n = 1;
  10. foreach my $i (1 .. $rows) {
  11. foreach my $j (reverse 0 .. $#arr) {
  12. push @{$arr[$j]}, ++$n;
  13. unshift @{$arr[$j]}, ++$n;
  14. }
  15. unshift @arr, [++$n];
  16. }
  17. foreach my $row (@arr) {
  18. print " " x (3 * $rows--);
  19. print map { sprintf "%3d", $_ } @{$row};
  20. print "\n";
  21. }