にたまごほうれん草アーカイブ

はてなダイアリーで書いてた「にたまごほうれん草」という日記のアーカイブです。現在は「にたまごほうれん草ブログ」を運営中です。

フィボナッチ数列

def fib m,n,count
  if count > 1
    return fib(m+n,m,count-1)
  else
    return n
  end
end

count = ARGV.shift.to_i
if count && count > 0
  (1..count).each {|i|
    print fib(1,1,i).to_s + ' '
  }
  puts ''
end

出力結果

$ ruby ex02-fib.rb 20
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765

るびこさんのところで他にもたくさん例あり。(というか効率よさそうなので参考にしつついつか改善)