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.


get "libhdr"
 
let width(n) = n<10 -> 1, 1 + width(n/10)
 
let floyd(rows) be
$(  let maxno = rows * (rows+1)/2
    let num = 1
    for r = 1 to rows
    $(  for c = 1 to r
        $(  writed(num, 1 + width(maxno-rows+c))
            num := num + 1
        $)
        wrch('*N')
    $)
$)
 
let start() be
$(  floyd(5)
    wrch('*N')
    floyd(14)
$)