Bell numbers
say 15.of { .bell }func bell(n) { sum(0..n, {|k| stirling2(n, k) }) }func bell_numbers (n) {
var acc = []
var bell = [1]
(n-1).times {
acc.unshift(bell[-1])
acc.accumulate!
bell.push(acc[-1])
}
bell
}
var B = bell_numbers(50)
say "The first 15 Bell numbers: #{B.first(15).join(', ')}"
say "The fiftieth Bell number : #{B[50-1]}"Output:
Output:
Last updated