-1

MLでは、数の素数の約数を取得したいと思います。どうすればこれができますか、私は初心者です。

4

2 に答える 2

2

単純な試行割り算を使用すると、これはで始まりp=2、繰り返し割り算np、徐々に割り算pします。

open LargeInt  (* if you want to work with huge numbers like 5000000000 *)
infix 7 quot rem
val prime_factors =
  let fun trial_division p n =
    if p > n then nil else
      if n rem p = 0
        then p :: trial_division  p      (n quot p)
        else      trial_division (p + 1)  n
  in trial_division 2 end
于 2009-06-26T21:15:09.113 に答える
1

整数の素数の約数を見つけるためのいくつかの一般的なアルゴリズムがあります。ウィキペディアを参照してください。単純な素数判定による試行割り算は、理解するのが最も簡単です。

擬似コードでアルゴリズムを検索または考案します。その場合にのみ、それをMLに入れる方法について心配します。

于 2009-05-18T10:18:50.030 に答える