fibonacci_n-step_number_sequence.sf 342 B

1234567891011121314151617181920212223
  1. #!/usr/bin/ruby
  2. #
  3. ## https://rosettacode.org/wiki/Fibonacci_n-step_number_sequences
  4. #
  5. func fib(n, xs=[1]) {
  6. xs.clone!;
  7. loop {
  8. var len = xs.len;
  9. len >= 20 && break;
  10. xs.append(xs.slice(0 `max` len-n, len).sum);
  11. }
  12. xs;
  13. }
  14. range(2, 10).each { |i|
  15. say fib(i).join(' ')
  16. }
  17. say fib(2, [2, 1]).join(' ')