functional_summation_of_fractions.sf 380 B

123456789101112131415161718192021
  1. #!/usr/bin/ruby
  2. #
  3. ## Rational summation of fractions
  4. #
  5. var k = 0 # initial value of the counter
  6. func a(n) { (-1)**n } # numerator
  7. func b(n) { 2*n + 1 } # denominator
  8. func g((k)) { b(k) }
  9. func g(n) is cached { b(n) * g(n-1) }
  10. func f((k)) { a(k) }
  11. func f(n) is cached { b(n)*f(n-1) + a(n)*g(n-1) }
  12. for i in (k .. 10) {
  13. say [f(i), g(i)]
  14. }