落書きノート

ふと自分が気になった事を書いてます

OCamlで問題を解く(訂正分)

一つ前の記事に載せたプログラム、間違ってましたので直しました。

print_string "2以上の整数値 : ";;
let n = read_int()
let cnt = ref 0;;

let answer () = if !cnt = 1 then
                  print_string "それは素数です。\n"
                else
                  print_string "それは素数ではありません。\n";;

let rec prime i = if i = n + 1 then
                    ()
                  else if n mod i = 0 then
                    (
                      cnt := !cnt + 1;
                      prime (i + 1)
                    )
                  else
                    prime (i + 1);;

prime 2;;
answer ();;