Multiplication tables: Difference between revisions

Content added Content deleted
(Logo)
(added Ursala)
Line 946: Line 946:
11│ 121 132
11│ 121 132
12│ 144
12│ 144
</pre>

=={{header|Ursala}}==
It's no more difficult to express the general case than the size 12 case, so
a table generating function parameterized by the size is used.
<lang Ursala>
#import std
#import nat

table "n" =

~&plrTS(
~&xS pad` @xS <'x ','--'>-- --' | '*hS %nP* nrange/1 "n",
^CthPiC(`-!*h,~&) mat` *xSSK7 pad` *K7ihxPBSS (~&i&& %nP)** nleq&&product**iiK0lK2x nrange/1 "n")

#show+

main = table 12
</lang>
A better way of using Ursala to make tables would be with the tbl library,
which can generate LaTeX code for arbitrary heading hierarchies and typesetting options,
but here it is in ASCII art.
<pre>
x 1 2 3 4 5 6 7 8 9 10 11 12
-------------------------------------
1 | 1 2 3 4 5 6 7 8 9 10 11 12
2 | 4 6 8 10 12 14 16 18 20 22 24
3 | 9 12 15 18 21 24 27 30 33 36
4 | 16 20 24 28 32 36 40 44 48
5 | 25 30 35 40 45 50 55 60
6 | 36 42 48 54 60 66 72
7 | 49 56 63 70 77 84
8 | 64 72 80 88 96
9 | 81 90 99 108
10 | 100 110 120
11 | 121 132
12 | 144
</pre>
</pre>