symmetric_summation_of_fractions.sf 421 B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/ruby
  2. class MyFraction(num, den) {
  3. method +(MyFraction arg) {
  4. MyFraction(
  5. self.num*arg.den + arg.num*self.den,
  6. self.den*arg.den
  7. )
  8. }
  9. method to_s {
  10. "[#{num}, #{den}]"
  11. }
  12. }
  13. func num(n) { n**0 }
  14. func den(n) { n**2 }
  15. var from = 1
  16. var to = 10
  17. var sum = MyFraction(0, 1)
  18. for i in (from .. to) {
  19. sum += MyFraction(num(i), den(i))
  20. say sum
  21. }