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.


#!/bin/awk -f
 
BEGIN {
	if (rows !~ /^[0-9]+$/ || rows < 0) {
		print "invalid rows or missing from command line"
		print "syntax: awk -v rows=14 -f floyds_triangle.awk"
		exit 1
	}
 
	for (row=cols=1; row<=rows; row++ cols++) {
		width[row] = length(row + (rows * (rows-1))/2)
		for (col=1; col<=cols; col++)
			printf("%*d%c", width[col], ++n, row == col ? "\n" : " ")
	}
}
 