うるう年(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

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)