フィボナッチ数列を返すクラス
フィボナッチ数を返す関数 - gan2 の Ruby 勉強日記の続き。
引数で与えられた数までのフィボナッチ数列を返すクラス。
class Fibonacci def initialize(n) @n = n.to_i @ary = Array.new if n < 1 puts "1以上の整数を入力して下さい。" return end f(n) end def f(n) if n == 1 or n == 2 @ary[n] = 1 return 1 end temp = f(n-2) + f(n-1) @ary[n] = temp temp end def disp_seq @ary.shift # 0番目(先頭)はいらないので削除 puts @ary.join(", ") end end n = ARGV[0] || 10 n = n.to_i if n < 1 puts "1以上の整数を入力して下さい。" exit end fib = Fibonacci.new(n) fib.disp_seq