結果
| 問題 |
No.2 素因数ゲーム
|
| コンテスト | |
| ユーザー |
pocarist
|
| 提出日時 | 2015-08-31 14:43:45 |
| 言語 | F# (F# 4.0) |
| 結果 |
AC
|
| 実行時間 | 473 ms / 5,000 ms |
| コード長 | 966 bytes |
| コンパイル時間 | 20,944 ms |
| コンパイル使用メモリ | 197,044 KB |
| 実行使用メモリ | 31,360 KB |
| 最終ジャッジ日時 | 2024-12-26 11:51:13 |
| 合計ジャッジ時間 | 26,404 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 31 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.fsproj を復元しました (1.05 sec)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
// http://yukicoder.me/problems/18
open System
let dprintfn fmt = Printf.kprintf Diagnostics.Debug.WriteLine fmt
module Prime =
let decomposit n =
let ans = ref []
let a = ref 2
let tmp = ref n
while !tmp >= !a do
if !tmp % !a = 0 then
ans := !a :: !ans
tmp := !tmp / !a
else
incr a
if !tmp = 1 then !ans
else !tmp :: !ans
let solve N =
Prime.decomposit N
// |> fun a -> dprintfn "%A" a; a
|> Seq.fold (fun s t ->
match Map.tryFind t s with
| Some v -> Map.add t (v+1) s
| _ -> Map.add t 1 s
) Map.empty
// |> fun a -> dprintfn "%A" a; a
|> Map.fold (fun s _ v -> v ^^^ s) 0
|> fun m ->
if m <> 0 then "Alice" else "Bob"
[<EntryPoint>]
let main argv =
let N = Console.ReadLine() |> int
solve N
|> printfn "%s"
0
pocarist