Floyd's triangle   lists the natural numbers in a right triangle aligned to the left where

 the first row is   1     (unity)
 successive rows start towards the left with the next number followed by successive naturals listing one more number than the line above.


The first few lines of a Floyd triangle looks like this:

 1
 2  3
 4  5  6
 7  8  9 10
11 12 13 14 15



Task

 Write a program to generate and display here the first   n   lines of a Floyd triangle. 
(Use   n=5   and   n=14   rows).
 Ensure that when displayed in a mono-space font, the numbers line up in vertical columns as shown and that only one space separates numbers of the last row.


(fofl, size):
floyd: procedure options (main); /* Floyd's Triangle. Wiki 12 July 2012 */
 
   declare (i, m, n) fixed (10), (j, k, w, nr) fixed binary;
 
   put list ('How many rows do you want?');
   get list (nr);   /* the number of rows   */
   n = nr*(nr+1)/2; /* the total number of values */
 
   j,k = 1; m = n - nr + 1;
   do i = 1 to n;
      put edit (i) ( x(1), f(length(trim(m))) );
      if k > 1 then do; k = k - 1; m = m + 1; end;
      else do; k,j = j + 1; m = n - nr + 1; put skip; end;
   end;
 
end floyd;