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.


{floyd(m)=my(lastrow_a,lastrow_e,lastrow_len=m,fl,idx);
     \\ +++  fl is a vector of fieldlengths in the last row 
 lastrow_e=m*(m+1)/2;lastrow_a=lastrow_e+1-m;
    fl=vector(lastrow_len);
    for(k=1,m,fl[k] = 1 + #Str(k-1+lastrow_a) );
 \\ 
 idx=0;
 for(i=1,m, 
      for(j=1,i,
            idx++; 
            printf(Str("%" fl[j] "d"),idx)
         );
       print()
     );
 return();}
floyd(5)
floyd(14)
 