はじめに
Webエンジニアを目指して、RubyやRailsをいじってます。
今回は、RubyでAtCoder ABC234のA, B, Cを解きました。備忘録として解き方をまとめていきたいと思います。
A - Weird Function
a-234.rb
def f(x)
return x ** 2 + 2 * x + 3
end
t = gets.to_i
puts f(f(f(t) + t) + f(f(t)))
B - Longest Segment
b-234.rb
n = gets.to_i
array = Array.new(n){ gets.split.map(&:to_i) }
puts array.combination(2).map{ Math.hypot(_1[0] - _2[0], _1[1] - _2[1])}.max
解説
combination
メソッドを使ってそれぞれの組み合わせにおける距離の最大値を求めます。
C - Happy New Year!
c-234.rb
k = gets.to_i.to_s(2)
puts k.to_i * 2
与えられた整数を2進数にして、その値を2倍したものが答えとなります。