結果

問題 No.106 素数が嫌い!2
ユーザー piconic_Xpiconic_X
提出日時 2015-11-18 00:53:33
言語 OCaml
(5.1.0)
結果
TLE  
実行時間 -
コード長 633 bytes
コンパイル時間 358 ms
コンパイル使用メモリ 21,448 KB
実行使用メモリ 10,496 KB
最終ジャッジ日時 2024-10-08 23:44:28
合計ジャッジ時間 12,909 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 TLE -
testcase_01 -- -
testcase_02 -- -
testcase_03 -- -
testcase_04 -- -
testcase_05 -- -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

let number_of_primefactors n =
  let max_prime = n / 2 in
  let rec div n d =
    if n mod d = 0 then div (n/d) d
    else n
  in
  let div2 = div n 2 in
  let rec loop n i count =
    if i <= max_prime then
      if n mod i = 0 then loop (div n i) (i+2) (count+1)
      else loop n (i+2) count
    else count
  in
  if n mod 2 = 0 then loop div2 3 1
  else loop n 3 0

let main n k =
  let rec loop i count =
    if i > n then count else
      if number_of_primefactors i >= k then loop (i+1) (count+1)
      else loop (i+1) count
  in
  loop 2 0

let () = print_int @@ Scanf.sscanf (read_line ()) "%d %d" main;
	 print_endline "\n"
0