読者です 読者をやめる 読者になる 読者になる

うるう年-2

練習 Ruby

http://d.hatena.ne.jp/tomomii+programming/20101209/p2
うるう年の問題を改造。指定したはじめと終わりの年の間にいくつうるう年があるかを調べてみましょ。

実行

  • 要素を抽出 >select
  • 素数を取得 >size/length

組み立てか順番がダメみたいで苦戦中

その1
def leap? ( year )
  if year % 4 == 0
    if year % 100 == 0
      if year % 400 == 0
        return true
      else
        return false
      end
      return false
    else
      return true
    end
  else
    return false
  end
end

start_year = gets.to_i
end_year   = gets.to_i

start_year.upto(end_year) do |year|
 year.select if leap?(year.to_i)
  puts year.size
  end 

おかしい。が、なにがおかしいかわからない。ぬおおお

moomin:ProgrammingRuby tomomi$ ruby scores.rb
1990
2000
4
4
scores.rb:22: private method `select' called for 1992:Fixnum (NoMethodError)
	from scores.rb:21:in `upto'
	from scores.rb:21
その2

参照

せこんさんありがとうございます。

最初は逆引き Ruby をぼけーと眺めてる見るのが良いんじゃないでしょうか。

たとえば、ある条件に満たす結果の数、だったら↑のサイトから"配列から指定条件を満たす要素を抽出する" ところでまずある条件を満たす要素を抽出して、"配列の要素数を取得する" で数を数えればでるんじゃ…とパズルのように組み立てていくことができるんじゃないかなぁ