結果

問題 No.2 素因数ゲーム
ユーザー scalerscaler
提出日時 2024-08-31 15:20:41
言語 Scala(Beta)
(3.6.2)
結果
TLE  
(最新)
AC  
(最初)
実行時間 -
コード長 617 bytes
コンパイル時間 14,487 ms
コンパイル使用メモリ 260,776 KB
実行使用メモリ 449,020 KB
最終ジャッジ日時 2025-01-27 09:02:30
合計ジャッジ時間 190,572 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other TLE * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

import scala.io.StdIn.readLine
import scala.collection.mutable.Map

@main
def yuki2(): Unit =
  val n = readLine.toInt
  val factorsMap = primeFactorization(n)
  var ret: Int = 0
  for (_, v) <- factorsMap do ret ^= v
  println(if ret == 0 then "Bob" else "Alice")

def primeFactorization(n: Int): Map[Int, Int] =
  val factors = Map[Int, Int]()
  var num = n
  while num % 2 == 0 do
    factors(2) = factors.getOrElse(2, 0) + 1
    num /= 2
  var divisor = 3
  while num > 1 do
    while num % divisor == 0 do
      factors(divisor) = factors.getOrElse(divisor, 0) + 1
      num /= divisor
    divisor += 2
  factors
0