結果

問題 No.2007 Arbitrary Mod (Easy)
ユーザー xsd
提出日時 2022-07-16 18:24:07
言語 OCaml
(5.2.1)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 326 bytes
コンパイル時間 1,766 ms
コンパイル使用メモリ 21,576 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-28 18:19:52
合計ジャッジ時間 4,447 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

Scanf.scanf "%d %d" (fun a n ->
    let z = 1000000007 in

    let ( *@) a b = (a * b) mod z in

    let pow a b =
        let rec loop r i acc =
            if i = 0 then acc else loop (r *@ r) (i lsr 1) (if i land 1 = 0 then acc else acc *@ r)
        in
        loop a b 1
    in
    Printf.printf "%d\n%d\n" z (pow a n)
)
0