結果

問題 No.47 ポケットを叩くとビスケットが2倍
ユーザー ichibanshibori
提出日時 2016-09-29 14:53:49
言語 Scala(Beta)
(3.6.2)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 595 bytes
コンパイル時間 5,583 ms
コンパイル使用メモリ 220,916 KB
最終ジャッジ日時 2024-11-14 19:52:38
合計ジャッジ時間 6,008 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
-- [E006] Not Found Error: Main.scala:29:12 ------------------------------------
29 |		val num = readLine().toLong
   |		          ^^^^^^^^
   |		          Not found: readLine
   |
   | longer explanation available when compiling with `-explain`
1 error found

ソースコード

diff #
プレゼンテーションモードにする

object Main {
def countBinNumDigits(num:Long) = {
assert (num >= 0L)
@scala.annotation.tailrec
def loop (num:Long) (result:Int) :Int = {
if (num == 0L) result
else {
val (nextNum, nextResult) =
(num >> 1, result + 1)
loop (nextNum) (nextResult)
}
}
loop (num) (0)
}
def countHit(num:Long) = {
assert (num > 0L)
val cntHit = countBinNumDigits(num) - 1
val rem = num - (1L << cntHit)
if (rem == 0) cntHit
else cntHit + 1
}
def main(args: Array[String]): Unit = {
val num = readLine().toLong
val ans = countHit(num)
println(ans)
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0