Stirling numbers of the first kind: Difference between revisions

Content added Content deleted
No edit summary
Line 1,067: Line 1,067:
Maximum value of S1(n,k) where n = 100:
Maximum value of S1(n,k) where n = 100:
19710908747055261109287881673376044669240511161402863823515728791076863288440277983854056472903481625299174865860036734731122707870406148096000000000000000000
19710908747055261109287881673376044669240511161402863823515728791076863288440277983854056472903481625299174865860036734731122707870406148096000000000000000000
</pre>

=={{header|PureBasic}}==
{{trans|FreeBasic}}
<lang PureBasic>EnableExplicit
#MAX=12
#LZ=10
#SP$=" "
Dim s1.i(#MAX,#MAX)
Define n.i,k.i,x.i,s$,esc$

s1(0,0)=1
esc$=#ESC$+"[8;24;170t" ; Enlarges the console window

For n=0 To #MAX
For k=1 To n
s1(n,k)=s1(n-1,k-1)-(n-1)*s1(n-1,k)
Next
Next

If OpenConsole()
Print(esc$)
PrintN(~"Signed Stirling numbers of the first kind\n")
Print(#SP$+"k")
For x=0 To #MAX : Print(#SP$+RSet(Str(x),#LZ)) : Next
PrintN(~"\n n"+LSet("-",13*12,"-"))
For n=0 To #MAX
Print(RSet(Str(n),3))
For k=0 To #MAX : Print(#SP$+RSet(Str(s1(n,k)),#LZ)) : Next
PrintN("")
Next
Input()
EndIf</lang>
{{out}}
<pre>Signed Stirling numbers of the first kind

k 0 1 2 3 4 5 6 7 8 9 10 11 12
n------------------------------------------------------------------------------------------------------------------------------------------------------------
0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0
2 0 -1 1 0 0 0 0 0 0 0 0 0 0
3 0 2 -3 1 0 0 0 0 0 0 0 0 0
4 0 -6 11 -6 1 0 0 0 0 0 0 0 0
5 0 24 -50 35 -10 1 0 0 0 0 0 0 0
6 0 -120 274 -225 85 -15 1 0 0 0 0 0 0
7 0 720 -1764 1624 -735 175 -21 1 0 0 0 0 0
8 0 -5040 13068 -13132 6769 -1960 322 -28 1 0 0 0 0
9 0 40320 -109584 118124 -67284 22449 -4536 546 -36 1 0 0 0
10 0 -362880 1026576 -1172700 723680 -269325 63273 -9450 870 -45 1 0 0
11 0 3628800 -10628640 12753576 -8409500 3416930 -902055 157773 -18150 1320 -55 1 0
12 0 -39916800 120543840 -150917976 105258076 -45995730 13339535 -2637558 357423 -32670 1925 -66 1
</pre>
</pre>