プログラミング入門

d1a4cb87 :Anonymous 2015-10-07 07:24
各種数列 もっといい実装もあるかもだけどいまはこんなもん

let printseq s = s|>Seq.take 10|>Seq.iter (printf "%A ")

(* 平方数 *)
seq { for i in 1 ..100 -> i * i }
|>printseq;;
(* フィボナッチ数列 *)
Seq.unfold (fun (a,b) -> Some(a+b, (b, a+b))) (1,1)
|>printseq;;

(*素数*)
let check x l=
l|>List.filter (fun i -> x%i=0)|>List.isEmpty
seq { for i in 2 .. 1000 -> i}
|>Seq.fold(fun x y -> if(check y x) then y::x else x) [2;]
|>List.rev
|>printseq;;
Powered by shinGETsu.