Lah numbers: Difference between revisions
Content added Content deleted
(add PicoLisp) |
(add FreeBASIC) |
||
Line 418: | Line 418: | ||
Maximum value from the 100 _ lah row: |
Maximum value from the 100 _ lah row: |
||
44519005448993144810881324947684737529186447692709328597242209638906324913313742508392928375354932241404408343800007105650554669129521241784320000000000000000000000 |
44519005448993144810881324947684737529186447692709328597242209638906324913313742508392928375354932241404408343800007105650554669129521241784320000000000000000000000 |
||
</pre> |
|||
=={{header|FreeBASIC}}== |
|||
<lang FreeBASIC>function factorial( n as uinteger ) as ulongint |
|||
if n = 0 then return 1 |
|||
return n*factorial(n-1) |
|||
end function |
|||
function s_Lah( n as uinteger, k as uinteger ) as ulongint |
|||
if n = k then return 1 |
|||
if n = 0 orelse k = 0 then return 0 |
|||
if k = 1 then return factorial(n) |
|||
return ((-1)^n)*(factorial(n)*factorial(n - 1))/(factorial(k)*factorial(k - 1))/factorial(n - k) |
|||
end function |
|||
function u_Lah( n as uinteger, k as uinteger ) as ulongint |
|||
return abs(s_Lah(n,k)) |
|||
end function |
|||
function padto( i as ubyte, j as integer ) as string |
|||
return wspace(i-len(str(j)))+str(j) |
|||
end function |
|||
print "Unsiged Lah numbers" |
|||
print |
|||
dim as string outstr = " k" |
|||
for k as integer =0 to 12 |
|||
outstr += padto(12, k) |
|||
next k |
|||
print outstr |
|||
print " n" |
|||
for n as integer = 0 to 12 |
|||
outstr = padto(2, n)+" " |
|||
for k as integer = 0 to n |
|||
outstr += padto(12, u_Lah(n, k)) |
|||
next k |
|||
print outstr |
|||
next n</lang> |
|||
{{out}} |
|||
<pre> |
|||
Unsiged Lah numbers |
|||
k 0 1 2 3 4 5 6 7 8 9 10 11 12 |
|||
n |
|||
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 |
|||
</pre> |
</pre> |
||