帳面立寄所

立寄所だからここに帳面を貼って、それで必要とあらばどこかに持って行くと、そういうことですね。とんでもないテキストだらけのTumblrですね。ついでにここをプロフィールを貼る場所にしよう。
表示名
Hidemaro(Tumblr・Twitter・Blog・電子メール・Windows Live・Last.fm(?))
ニコフィー(mixi)
Twitter
@hidemaroh
Blog
日記帳だ! with Tux on Libserver
mixi
ニコフィーさん
Last.fm
Nicofeeミュージック・プロフィール
現住所
三重県名張市の美旗地区
学校・学科
奈良工業高等専門学校 電気工学科
得意技
Perl・HTML・CSS
趣味
ゲーム(アドベンチャーゲームの類がメイン、例外はSimCity)

May 19

F#で素因数分解する

前の無限素数シーケンスprimeを用いて

let rec factorize1 l n =
  let p=Seq.head l
  if   p*p>n then [n]
  elif n%p=0 then p::(factorize1 l (n/p))
  else            factorize1 (Seq.skip 1 l) n;;
let factorize = factorize1 prime;;

ただし、これではnが大きいとき求められないので、その場合はint64を用い

let rec factorize1 l n =
  let p=int64(Seq.head l)
  if   p*p>n  then [n]
  elif n%p=0L then p::(factorize1 l (n/p))
  else             factorize1 (Seq.skip 1 l) n;;
let factorize = factorize1 prime;;
factorize 600851475143L;;

などする。


Page 1 of 1