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

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍