Rubyはじめました/ふぃぼなち。
たのしいRuby 第2版 Rubyではじめる気軽なプログラミング
- 作者: 高橋征義,後藤裕蔵
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/08/05
- メディア: 単行本
- 購入: 11人 クリック: 350回
- この商品を含むブログ (264件) を見る
選択にあまり意味はなく。とりあえず何かやる方針で。
とりあえずコマンドラインから引数を取ってフィボナッチ数を求めるプログラムを書いてみる。
number = ARGV[0].to_i def fib(num) if num == 1 then return 1 elsif num ==0 then return 0 else return fib(num-1) + fib(num -2) end end puts fib(number)
5分ぐらい、か。途中でCompiz氏が死んだのでUbuntuさんを再起動してきます
//追記1:同日夕方
あの後ハチロク世代チャット&レスにて指摘いただいたので修正したものを下に。
def fib(num) if num == 1 1 elsif num ==0 0 else fib(num-1) + fib(num -2) end end number = ARGV[0].to_i puts fib(number)
//追記2:同日深夜
id:ukstudio氏がもっと短い例を
def fib(num) case num when 1 : 1 when 0 : 0 else fib(num-1) + fib(num-2) end end number = ARGV[0].to_i puts fib(number)
Rubyすごい(・ω・)
//追記3:3月2日
id:hogelog氏がもっともっと短い例を
def fib(n) 2>n&&n||fib(n-1)+fib(n-2) end
にゃにょー
//追記4:3月3日
ちょっと変わったところでこんな例も。これは思いつかない
require ”matrix” def fib(n) (Matrix[[1,1],[1,0]]**n)[1,0] end
もしかして有名なアルゴリズムなんだろうか。
と思って調べたらWikipediaに書いてござるよ。
これとっさに思いつかないのはダメだろうか。そうか。