Bell numbers: Difference between revisions

no edit summary
(Added a Scheme implementation.)
No edit summary
Line 3,783:
[4140, 5017, 6097, 7432, 9089, 11155, 13744, 17007, 21147]
[21147, 25287, 30304, 36401, 43833, 52922, 64077, 77821, 94828, 115975]</pre>
 
=={{header|Vlang}}==
{{trans|Go}}
<lang vlang>import math.big
 
fn bell_triangle(n int) [][]big.Integer {
mut tri := [][]big.Integer{len: n}
for i in 0..n {
tri[i] = []big.Integer{len: i}
for j in 0..i {
tri[i][j] = big.zero_int
}
}
tri[1][0] = big.integer_from_u64(1)
for i in 2..n {
tri[i][0] = tri[i-1][i-2]
for j := 1; j < i; j++ {
tri[i][j] = tri[i][j-1] + tri[i-1][j-1]
}
}
return tri
}
fn main() {
bt := bell_triangle(51)
println("First fifteen and fiftieth Bell numbers:")
for i := 1; i <= 15; i++ {
println("${i:2}: ${bt[i][0]}")
}
println("50: ${bt[50][0]}")
println("\nThe first ten rows of Bell's triangle:")
for i := 1; i <= 10; i++ {
println(bt[i])
}
}</lang>
 
{{out}}
<pre>
First fifteen and fiftieth Bell numbers:
1: 1
2: 1
3: 2
4: 5
5: 15
6: 52
7: 203
8: 877
9: 4140
10: 21147
11: 115975
12: 678570
13: 4213597
14: 27644437
15: 190899322
50: 10726137154573358400342215518590002633917247281
 
The first ten rows of Bell's triangle:
[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|Wren}}==
338

edits