Jump to content

Multiplication tables: Difference between revisions

Updated D entry
(→‎{{header|AWK}}: delete ';', printf is a statment)
(Updated D entry)
Line 711:
 
=={{header|D}}==
{{trans|PicoLisp}}
<lang d>import std.stdio, std.array, std.range, std.algorithm;
alias R = std.array.replicate;
 
void main() {
enum int maxn = 12;
writefln(" %(%4d%)\n%s", iota(1, n + 1), "-".R(4 * (n + 1)));
write(" | ");
foreach (rowimmutable y; 1 .. maxn + 1)
writefwritefln("%4d", row~ " ".R(4 * (y - 1);) ~ "%(%4d%)", y,
write iota(y, n + 1).map!("x => x * "y));
writeln();
writeln("--+-", "-".replicate(max * 4));
foreach (row; 1 .. max+1) {
writef("%2d", row);
write("| ");
foreach (column; 1 .. max+1) {
if (column < row)
write(" ");
else
writef("%4d", row * column);
}
writeln();
}
}</lang>
{{out}}
Output:
<pre> | 1 2 3 4 5 6 7 8 9 10 11 12
--+--------------------------------------------------
1| 1 1 2 3 4 5 6 7 8 9 10 11 12
2| 2 4 6 8 10 12 14 16 18 20 22 24
3| 3 9 12 15 18 21 24 27 30 33 36
4| 4 16 20 24 28 32 36 40 44 48
5| 5 25 30 35 40 45 50 55 60
6| 6 36 42 48 54 60 66 72
7| 7 49 56 63 70 77 84
8| 8 64 72 80 88 96
9| 9 81 90 99 108
10| 10 100 110 120
11| 11 121 132
12| 12 144</pre>
 
=={{header|Delphi}}==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.