Multiplication tables: Difference between revisions
Content added Content deleted
(→{{header|Haskell}}: Abbreviated slightly with bool) |
(Add (way overboard) Jsish) |
||
Line 3,043: | Line 3,043: | ||
| 12 || || || || || || || || || || || || 144 |
| 12 || || || || || || || || || || || || 144 |
||
|} |
|} |
||
=={{header|Jsish}}== |
|||
<lang javascript>/* Multiplication tables, is Jsish */ |
|||
var m, n, width, tableSize = 12; |
|||
if (console.args.length > 0) tableSize = parseInt(console.args[0]); |
|||
if (tableSize < 1 || tableSize > 20) tableSize = 12; |
|||
width = Math.floor(Math.log(tableSize * tableSize) / Math.log(10)) + 1; |
|||
var spaces = ' '.repeat(width+1); |
|||
printf(spaces); |
|||
for (m = 1; m <= tableSize; m++) printf(' %*d', width, m); |
|||
printf('\n' + ' '.repeat(width) + '+'); |
|||
printf('-'.repeat((width+1) * tableSize)); |
|||
for (m = 1; m <= tableSize; m++) { |
|||
printf('\n%*d|', width, m); |
|||
for (n = m; n < m; n++) printf(spaces); |
|||
for (n = 1; n <= tableSize; n++) { |
|||
if (m <= n) printf(' %*d', width, m * n); else printf(spaces); |
|||
} |
|||
} |
|||
printf('\n');</lang> |
|||
{{out}} |
|||
<pre>prompt$ jsish multiplication-tables.jsi |
|||
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 |
|||
prompt$ jsish multiplication-tables.jsi 4 |
|||
1 2 3 4 |
|||
+------------ |
|||
1| 1 2 3 4 |
|||
2| 4 6 8 |
|||
3| 9 12 |
|||
4| 16</pre> |
|||
=={{header|Julia}}== |
=={{header|Julia}}== |