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.


class Floyd {
    static void main(String[] args) {
        printTriangle(5)
        printTriangle(14)
    }
 
    private static void printTriangle(int n) {
        println(n + " rows:")
        int printMe = 1
        int numsPrinted = 0
        for (int rowNum = 1; rowNum <= n; printMe++) {
            int cols = (int) Math.ceil(Math.log10(n * (n - 1) / 2 + numsPrinted + 2))
            printf("%" + cols + "d ", printMe)
            if (++numsPrinted == rowNum) {
                println()
                rowNum++
                numsPrinted = 0
            }
        }
    }
}