Floyd's triangle: Difference between revisions

+ D entry
(Dropped the draft status as there are several correct examples.)
(+ D entry)
Line 14:
# Write a program to generate and display here the first n lines of a Floyd triangle.<br>(Use n=5 and n=14 rows).
# Ensure that when displayed in a monospace font, the numbers line up in vertical columns as shown and that only one space separates numbers of the last row.
 
=={{header|D}}==
<lang d>import std.stdio, std.conv;
 
void floyd(in uint n) {
immutable llc = n * (n - 1) / 2 + 1; // lower left corner
foreach (r; 0 .. n) {
foreach (c; 0 .. r + 1) {
const nc = text(llc + c).length.text();
writef("%" ~ nc ~ (c == r ? "d" : "d "),
r * (r + 1) / 2 + c + 1);
}
writeln();
}
}
 
void main() {
floyd(5);
floyd(14);
}</lang>
{{out}}
<pre> 1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35 36
37 38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63 64 65 66
67 68 69 70 71 72 73 74 75 76 77 78
79 80 81 82 83 84 85 86 87 88 89 90 91
92 93 94 95 96 97 98 99 100 101 102 103 104 105</pre>
 
=={{header|Go}}==