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.


include c:\cxpl\codes;  \include 'code' declarations
 
func IntLen(N);         \Return number of digits in a positive integer
int     N;
int     I;
for I:= 1 to 20 do
    [N:= N/10;  if N=0 then return I];
 
proc Floyd(N);          \Display Floyd's triangle
int N;
int M, Row, Col;
real F;
[M:= (N-1+1)*(N-1)/2;   \last Floyd number on second to last row
F:= 1.0;                \Floyd number counter
for Row:= 1 to N do
    [for Col:= 1 to Row do
        [Format(IntLen(M+Col)+1, 0);  RlOut(0, F);  F:= F+1.0];
    CrLf(0);
    ];
]; \Floyd
 
[Floyd(5);
Floyd(14);
]