Bell numbers: Difference between revisions

Added AutoHotkey
(Added solution for Delphi)
(Added AutoHotkey)
Line 31:
:* '''[[oeis:A000110|OEIS:A000110 Bell or exponential numbers]]'''
:* '''[[oeis:A011971|OEIS:A011971 Aitken's array]]'''
 
=={{header|AutoHotkey}}==
<lang AutoHotkey>;-----------------------------------
Bell_triangle(maxRows){
row := 1, col := 1, Arr := []
Arr[row, col] := 1
while (Arr.Count() < maxRows){
row++
max := Arr[row-1].Count()
Loop % max{
if (col := A_Index) =1
Arr[row, col] := Arr[row-1, max]
Arr[row, col+1] := Arr[row, col] + Arr[row-1, col]
}
}
return Arr
}
;-----------------------------------
Show_Bell_Number(Arr){
for i, obj in Arr{
res .= obj.1 "`n"
}
return Trim(res, "`n")
}
;-----------------------------------
Show_Bell_triangle(Arr){
for i, obj in Arr{
for j, v in obj
res .= v ", "
res := Trim(res, ", ") . "`n"
}
return Trim(res, "`n")
}
;-----------------------------------</lang>
Examples:<lang AutoHotkey>MsgBox % Show_Bell_Number(Bell_triangle(15))
MsgBox % Show_Bell_triangle(Bell_triangle(10))
return</lang>
{{out}}
<pre>1
1
2
5
15
52
203
877
4140
21147
115975
678570
4213597
27644437
190899322
---------------------------
1
1, 2
2, 3, 5
5, 7, 10, 15
15, 20, 27, 37, 52
52, 67, 87, 114, 151, 203
203, 255, 322, 409, 523, 674, 877
877, 1080, 1335, 1657, 2066, 2589, 3263, 4140
4140, 5017, 6097, 7432, 9089, 11155, 13744, 17007, 21147
21147, 25287, 30304, 36401, 43833, 52922, 64077, 77821, 94828, 115975</pre>
 
=={{header|C}}==
299

edits