36 lines
915 B
Plaintext
36 lines
915 B
Plaintext
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
|