酒と泪とRubyとRailsと

Ruby on Rails と Objective-C は酒の肴です!

アルゴリズムの勉強: うるう年(leap year)[AOJ 0093][Ruby]

今回は、『AOJ 0093 - うるう年(leap year)』についての記事です。

プログラムならうるう年を求めるのもこんなに簡単なのかとちょっと感激しますw、よかったらぜひチャレンジしてみてください。


クイックソートのRubyサンプルソース

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def get_leap_years(from, to)
  res = []
  from.upto(to) do |i|
    if i%400 == 0
      res << i
    elsif i%100 == 0
      next
    elsif i%4 == 0
      res << i
    end
  end
  res
end

is_first_line = true
while gets do
  a, b = $_.split(' ').map(&:to_i)
  break if a == 0 && b == 0

  if is_first_line
    is_first_line = false
  else
    puts ''
  end

  res = get_leap_years(a, b)
  if res.count == 0
    puts 'NA'
  else
    puts res
  end
end

Aizu Online Judgeのサンプルソース

当面はAOJを解きながら、アルゴリズムの再勉強をしていくつもりです。Ruby/Python/C++でのAOJの回答は下のリポジトリに保存しておきます。もしツッコミとかあれば是非^^

morizyun/aoj-ruby-python - GitHub

最近解いたAOJの問題

AOJタグのついた最近解いた問題一覧

おすすめの書籍