mutual_recursion.sf 202 B

123456789101112
  1. #!/usr/bin/ruby
  2. func F {};
  3. func M {};
  4. F = func(n) { n > 0 ? (n - M(F(n-1))) : 1 };
  5. M = func(n) { n > 0 ? (n - F(M(n-1))) : 0 };
  6. [F, M].each { |seq|
  7. (0..19).map {|i| seq.call(i)}.join(' ').say;
  8. }