RosettaCodeData/Task/Padovan-n-step-number-sequences/Ruby/padovan-n-step-number-sequences.rb
2023-12-16 21:33:55 -08:00

15 lines
276 B
Ruby

def padovan(n_step)
return to_enum(__method__, n_step) unless block_given?
ar = [1, 1, 1]
loop do
yield sum = ar[..-2].sum
ar.shift if ar.size > n_step
ar << sum
end
end
t = 15
(2..8).each do |n|
print "N=#{n} :"
puts "%5d"*t % padovan(n).take(t)
end