Lah numbers: Difference between revisions
Content added Content deleted
m (→{{header|zkl}}: format) |
(Added Sidef) |
||
Line 349: | Line 349: | ||
<pre> |
<pre> |
||
The maximum value (which has 164 decimal digits): |
The maximum value (which has 164 decimal digits): |
||
44519005448993144810881324947684737529186447692709328597242209638906324913313742508392928375354932241404408343800007105650554669129521241784320000000000000000000000 |
|||
</pre> |
|||
=={{header|Sidef}}== |
|||
<lang ruby>func lah(n, k) { |
|||
stirling3(n, k) |
|||
#binomial(n-1, k-1) * n!/k! # alternative formula |
|||
} |
|||
const r = (0..12) |
|||
var triangle = r.map {|n| 0..n -> map {|k| lah(n, k) } } |
|||
var widths = r.map {|n| r.map {|k| (triangle[k][n] \\ 0).len }.max } |
|||
say ('n\k ', r.map {|n| "%*s" % (widths[n], n) }.join(' ')) |
|||
r.each {|n| |
|||
var str = ('%-3s ' % n) |
|||
str += triangle[n].map_kv {|k,v| "%*s" % (widths[k], v) }.join(' ') |
|||
say str |
|||
} |
|||
with (100) {|n| |
|||
say "\nMaximum value from the L(#{n}, *) row:" |
|||
say { lah(n, _) }.map(^n).max |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
n\k 0 1 2 3 4 5 6 7 8 9 10 11 12 |
|||
0 1 |
|||
1 0 1 |
|||
2 0 2 1 |
|||
3 0 6 6 1 |
|||
4 0 24 36 12 1 |
|||
5 0 120 240 120 20 1 |
|||
6 0 720 1800 1200 300 30 1 |
|||
7 0 5040 15120 12600 4200 630 42 1 |
|||
8 0 40320 141120 141120 58800 11760 1176 56 1 |
|||
9 0 362880 1451520 1693440 846720 211680 28224 2016 72 1 |
|||
10 0 3628800 16329600 21772800 12700800 3810240 635040 60480 3240 90 1 |
|||
11 0 39916800 199584000 299376000 199584000 69854400 13970880 1663200 118800 4950 110 1 |
|||
12 0 479001600 2634508800 4390848000 3293136000 1317254400 307359360 43908480 3920400 217800 7260 132 1 |
|||
Maximum value from the L(100, *) row: |
|||
44519005448993144810881324947684737529186447692709328597242209638906324913313742508392928375354932241404408343800007105650554669129521241784320000000000000000000000 |
44519005448993144810881324947684737529186447692709328597242209638906324913313742508392928375354932241404408343800007105650554669129521241784320000000000000000000000 |
||
</pre> |
</pre> |