program floyd_triangle; floyd(5); print; floyd(14); print; proc floyd(rows); maxno := rows * (rows+1) div 2; n := 1; loop for row in [1..rows] do loop for col in [1..row] do nprint(lpad(str n, 1 + #str (maxno - rows + col))); n +:=1; end loop; print; end loop; end proc; end program;