うるう年(leap year) | アルゴリズム [AOJ 0093][Ruby]


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

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

🍣 Rubyコード

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

🍄 GitHubリポジトリ

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

morizyun/aoj-ruby-python - GitHub

📚 おすすめの書籍