Bell numbers: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add Cowgol) |
Not a robot (talk | contribs) (Add ALGOL-M) |
||
Line 31: | Line 31: | ||
:* '''[[oeis:A000110|OEIS:A000110 Bell or exponential numbers]]''' |
:* '''[[oeis:A000110|OEIS:A000110 Bell or exponential numbers]]''' |
||
:* '''[[oeis:A011971|OEIS:A011971 Aitken's array]]''' |
:* '''[[oeis:A011971|OEIS:A011971 Aitken's array]]''' |
||
=={{header|ALGOL-M}}== |
|||
<lang algolm>begin |
|||
integer function index(row, col); |
|||
integer row, col; |
|||
index := row * (row-1)/ 2 + col; |
|||
integer ROWS; ROWS := 15; |
|||
begin |
|||
decimal(11) array bell[0:ROWS*(ROWS+1)/2]; |
|||
integer i, j; |
|||
bell[index(1, 0)] := 1.; |
|||
for i := 2 step 1 until ROWS do |
|||
begin |
|||
bell[index(i, 0)] := bell[index(i-1, i-2)]; |
|||
for j := 1 step 1 until i-1 do |
|||
bell[index(i,j)] := bell[index(i,j-1)] + bell[index(i-1,j-1)]; |
|||
end; |
|||
write("First fifteen Bell numbers:"); |
|||
for i := 1 step 1 until ROWS do |
|||
begin |
|||
write(i); |
|||
writeon(": "); |
|||
writeon(bell[index(i,0)]); |
|||
end; |
|||
write(""); |
|||
write("First ten rows of Bell's triangle:"); |
|||
for i := 1 step 1 until 10 do |
|||
begin |
|||
write(""); |
|||
for j := 0 step 1 until i-1 do |
|||
writeon(bell[index(i,j)]); |
|||
end; |
|||
end; |
|||
end</lang> |
|||
{{out}} |
|||
<pre>First fifteen Bell numbers: |
|||
1: 1.0 |
|||
2: 1.0 |
|||
3: 2.0 |
|||
4: 5.0 |
|||
5: 15.0 |
|||
6: 52.0 |
|||
7: 203.0 |
|||
8: 877.0 |
|||
9: 4140.0 |
|||
10: 21147.0 |
|||
11: 115975.0 |
|||
12: 678570.0 |
|||
13: 4213597.0 |
|||
14: 27644437.0 |
|||
15: 190899322.0 |
|||
First ten rows of Bell's triangle: |
|||
1.0 |
|||
1.0 2.0 |
|||
2.0 3.0 5.0 |
|||
5.0 7.0 10.0 15.0 |
|||
15.0 20.0 27.0 37.0 52.0 |
|||
52.0 67.0 87.0 114.0 151.0 203.0 |
|||
203.0 255.0 322.0 409.0 523.0 674.0 877.0 |
|||
877.0 1080.0 1335.0 1657.0 2066.0 2589.0 3263.0 4140.0 |
|||
4140.0 5017.0 6097.0 7432.0 9089.0 11155.0 13744.0 17007.0 21147.0 |
|||
21147.0 25287.0 30304.0 36401.0 43833.0 52922.0 64077.0 77821.0 94828.0 115975.0</pre> |
|||
=={{header|Arturo}}== |
=={{header|Arturo}}== |