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.


with javascript_semantics
procedure Floyds_triangle(integer n)
    sequence widths = repeat(0,n)
    integer k = (n * (n-1))/2
    for i=1 to n do
        widths[i] = sprintf("%%%dd",length(sprintf("%d",i+k))+1)
    end for
    k = 1
    for i=1 to n do
        for j=1 to i do
            printf(1,widths[j],k)
            k += 1
        end for
        printf(1,"\n")
    end for
end procedure
Floyds_triangle(5)
Floyds_triangle(14)
