RosettaCodeData/Task/Modular-exponentiation/OCaml/modular-exponentiation.ml

7 lines
271 B
OCaml

let a = Z.of_string "2988348162058574136915891421498819466320163312926952423791023078876139" in
let b = Z.of_string "2351399303373464486466122544523690094744975233415544072992656881240319" in
let m = Z.pow (Z.of_int 10) 40 in
Z.powm a b m
|> Z.to_string
|> print_endline