generalized_mean.sf 306 B

1234567891011121314
  1. #!/usr/bin/ruby
  2. # Daniel "Trizen" Șuteu
  3. # Date: 17 March 2018
  4. # https://github.com/trizen
  5. # Generalized mean (also known as "power mean" or "Holder mean").
  6. func M (a, p) {
  7. (a.sum_by {|x| x**p }) / a.len -> root(p)
  8. }
  9. say M([1,2,3,4,5], 42) #=> 4.81203459571543614593606406609001665612957550549