RosettaCodeData/Task/Bernoulli-numbers/Sidef/bernoulli-numbers-3.sidef
2020-02-17 23:21:07 -08:00

9 lines
249 B
Text

func ramanujan_bernoulli_number(n) is cached {
return 1/2 if n.is_one
return 0 if n.is_odd
((n%6 == 4 ? -1/2 : 1) * (n+3)/3 - sum(1 .. (n - n%6)/6, {|k|
binomial(n+3, n - 6*k) * __FUNC__(n - 6*k)
})) / binomial(n+3, n)
}