Tamflexの貯蔵庫

やる気のない備忘録

aoj 0057

最大の領域の数 | Aizu Online Judge

  • (n+1)*n/2+1を表示するだけ(33byte)
$<.map{|v|n=v.to_i;p (n*n+n)/2+1}
  • 上はこうなる(31byte)
$<.map{|v|p (1+n=v.to_i)*n/2+1}
  • すごいコード(30byte)
$<.map{|n|n=n.to_i;p~n*-n/2+1}

~はnot演算子で符号付き整数nを反転すると-(n+1)になる.
2の補数 - Wikipedia
~は右結合なのでpとの間の余白を省ける.
見事としか言いようがない...