2009年11月1日日曜日

[Scala]パズル

http://pc11.2ch.net/test/read.cgi/prog/1226659484/

*数値型n => 32bit整数(10進数)
*bit配列 => 2進数表記
*オンビットの数 => 1となる位の数
と解釈して、Scalaで書くと


def onbits(n:Int) = {
val bits = for(i <- 0 to 31) yield (n >> i) & 1
bits.reduceLeft((x,y)=>x+y)
}



曖昧に書かれてる問題文を冒頭のように解釈するのに1分。
頭の中で解答(イメージ)作るのに5分。
コードに落とすのに5分(インタプリタ使って)。
# だめすぎ... T-T

0 件のコメント:

コメントを投稿