(備忘録)AtCoderをやって13
問題1
A 歳の高橋君が観覧車に乗ろうとしています。
この観覧車は、13 歳以上が乗るには B 円 (B は偶数) かかりますが、6 歳以上 12 歳以下の人はその半額で乗ることができ、 さらに 5 歳以下の人は無料で乗ることができます。
高橋君が観覧車に乗るには何円かかるかを求めてください。
自分の回答
age, fee = gets.split.map(&:to_i) if age <= 5 puts 0 elsif age <= 12 puts fee / 2 else puts fee end
その他の回答
三項演算子の中に三項演算子を入れるパターンは思い付かなかった (ただ実務ではこれ見やすいのかな?という疑問は残る)
a,b = gets.chomp.split(" ").map(&:to_i) puts a <= 5 ? 0 : (a <= 12 ? b/2 : b)
問題2
下記参照
自分の回答
a, b, c = gets.split.map(&:to_i) cnt = 0 while cnt < 10 d = a * c - b puts d c = d cnt += 1 end
その他回答
putsした後にわざわざ代入しなくても出た値をそのまま次の処理に入れればいい訳ですね。
r,d,x = gets.split.map(&:to_i) 10.times do x = r * x - d puts x end