Lah numbers: Difference between revisions
Content added Content deleted
PatGarrett (talk | contribs) (→{{header|VBScript}}: Section added) |
|||
Line 1,553: | Line 1,553: | ||
(164 digits, k=10) |
(164 digits, k=10) |
||
</pre> |
</pre> |
||
=={{header|VBScript}}== |
|||
{{trans|BBC BASIC}} |
|||
<lang vb>' Lah numbers - VBScript |
|||
' cscript /nologo "Lah numbers - rc.vbs" |
|||
Function F(i,n) |
|||
Dim c: c=CCur(i): If n>Len(c) Then F=Space(n-Len(c))&c Else F=c |
|||
End Function 'F |
|||
Function Fact(ByVal n) |
|||
Dim res |
|||
If n=0 Then |
|||
Fact = 1 |
|||
Else |
|||
res = 1 |
|||
While n>0 |
|||
res = res*n |
|||
n = n-1 |
|||
Wend |
|||
Fact = res |
|||
End If |
|||
End Function 'Fact |
|||
Function Lah(n, k) |
|||
If k=1 Then |
|||
Lah = Fact(n) |
|||
ElseIf k=n Then |
|||
Lah = 1 |
|||
ElseIf k>n Then |
|||
Lah=0 |
|||
ElseIf k < 1 Or n < 1 Then |
|||
Lah = 0 |
|||
Else |
|||
Lah = (Fact(n) * Fact(n-1)) / (Fact(k) * Fact(k-1)) / Fact(n-k) |
|||
End If |
|||
End Function 'Lah |
|||
Sub Main() |
|||
ns=12: p=10 |
|||
WScript.Echo "Unsigned Lah numbers: Lah(n,k):" |
|||
buf = "n/k " |
|||
For k=1 To ns |
|||
buf = buf & F(k,p) & " " |
|||
Next 'k |
|||
WScript.Echo buf |
|||
For n=1 To ns |
|||
buf = F(n,3) & " " |
|||
For k=1 To n |
|||
l = Lah(n,k) |
|||
buf = buf & F(l,p) & " " |
|||
Next 'k |
|||
WScript.Echo buf |
|||
Next 'n |
|||
End Sub 'Main |
|||
Main() </lang> |
|||
{{out}} |
|||
<pre> |
|||
Unsigned Lah numbers: Lah(n,k): |
|||
n/k 1 2 3 4 5 6 7 8 9 10 11 12 |
|||
1 1 |
|||
2 2 1 |
|||
3 6 6 1 |
|||
4 24 36 12 1 |
|||
5 120 240 120 20 1 |
|||
6 720 1800 1200 300 30 1 |
|||
7 5040 15120 12600 4200 630 42 1 |
|||
8 40320 141120 141120 58800 11760 1176 56 1 |
|||
9 362880 1451520 1693440 846720 211680 28224 2016 72 1 |
|||
10 3628800 16329600 21772800 12700800 3810240 635040 60480 3240 90 1 |
|||
11 39916800 199584000 299376000 199584000 69854400 13970880 1663200 118800 4950 110 1 |
|||
12 479001600 2634508800 4390848000 3293136000 1317254400 307359360 43908480 3920400 217800 7260 132 1 |
|||
</pre> |
|||
=={{header|Visual Basic .NET}}== |
=={{header|Visual Basic .NET}}== |