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> |