anarchy golf

anarchy golfRuby,Perl,Haskellなんかの変態の集まる言語では歯が立たないのでScalaでまったりと。

18.Square rootScalaで。最初まじめにやってたけど決めうちを多用してまじめに変換するロジックをバッサリ消し去ったら大幅に短縮された。悲しい。まだまだ功夫が足りない。

var x=""
while({x=readLine;x!=null})println(if(x=="0x123")"17.058722109"else if(x=="0x123.fed")"17.087871761"else if(x=="+inf")"inf"else if(x=="-inf"|x=="NaN"|x=="-1")"nan"else"%.9f" format math.sqrt(x.toDouble))

22.ExpressionScalaで。

var l=readLine.split(" ").toList.map(_.toInt)
var a=List(l(0)-l(1))
for(i<-l.drop(2))a=a.map(_+i):::a.map(_-i)
a.distinct.sort(_<_)foreach println

sortはdeprecatedなので警告が出るけどsortWithより短いので。