Jump to content

Bell numbers: Difference between revisions

Line 1,830:
[4140, 5017, 6097, 7432, 9089, 11155, 13744, 17007, 21147]
[21147, 25287, 30304, 36401, 43833, 52922, 64077, 77821, 94828, 115975]</pre>
 
=={{header|Rust}}==
{{trans|D}}
{{libheader|num}}
<lang rust>use num::BigUint;
 
fn main() {
let bt = bell_triangle(51);
// the fifteen first
for i in 1..=15 {
println!("{}: {}", i, bt[i][0]);
}
 
// the fiftieth
println!("50: {}", bt[50][0])
}
 
fn bell_triangle(n: usize) -> Vec<Vec<BigUint>> {
let mut tri: Vec<Vec<BigUint>> = Vec::with_capacity(n);
for i in 0..n {
let v = vec![BigUint::from(0u32); i];
tri.push(v);
}
tri[1][0] = BigUint::from(1u32);
 
for i in 2..n {
tri[i][0] = BigUint::from_bytes_be(&tri[i - 1][i - 2].to_bytes_be());
for j in 1..i {
let added_big_uint = &tri[i][j - 1] + &tri[i - 1][j - 1];
tri[i][j] = BigUint::from_bytes_be(&added_big_uint.to_bytes_be());
}
}
 
tri
}
</lang>
 
{{out}}
<pre>
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
</pre>
 
=={{header|Sidef}}==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.