123456789101112131415161718 |
- #!/usr/bin/ruby
- #
- ## https://rosettacode.org/wiki/Faulhaber%27s_formula
- #
- func faulhaber_s_formula(p) {
- "1/#{p + 1} * (" + gather {
- { |j|
- take "#{binomial(p+1, j) * j.bernfrac -> as_rat}*n^#{p+1 - j}"
- } << 0..p
- }.join(' + ') + ")"
- }
- { |p|
- printf("%2d: %s\n", p, faulhaber_s_formula(p))
- } << ^10
|