open System // from stackoverflow.com/q/49219103/849891
// by stackoverflow.com/users/1462221/patrick-stevens
let sieveOutPrime p numbers =
numbers
|> Seq.filter (fun n -> n % p <> 0)
let primesLessThan n =
let removeFirstPrime = function
| s when Seq.isEmpty s -> None
| s -> Some(Seq.head s, sieveOutPrime (Seq.head s) (Seq.tail s))
let remainingPrimes =
seq {3..2..n}
|> Seq.unfold removeFirstPrime
seq { yield 2; yield! remainingPrimes }
primesLessThan 1000000 |> Seq.skip 700
|> Seq.take 10
|> Seq.
iter( fun n
-> printf "%d " n
)
b3BlbiBTeXN0ZW0gIC8vIGZyb20gc3RhY2tvdmVyZmxvdy5jb20vcS80OTIxOTEwMy84NDk4OTEKICAgLy8gYnkgc3RhY2tvdmVyZmxvdy5jb20vdXNlcnMvMTQ2MjIyMS9wYXRyaWNrLXN0ZXZlbnMgICAKCmxldCBzaWV2ZU91dFByaW1lIHAgbnVtYmVycyA9CiAgIG51bWJlcnMKICAgfD4gU2VxLmZpbHRlciAoZnVuIG4gLT4gbiAlIHAgPD4gMCkKCmxldCBwcmltZXNMZXNzVGhhbiBuID0KICAgIGxldCByZW1vdmVGaXJzdFByaW1lID0gZnVuY3Rpb24KICAgICAgIHwgcyB3aGVuIFNlcS5pc0VtcHR5IHMgLT4gTm9uZQogICAgICAgfCBzIC0+IFNvbWUoU2VxLmhlYWQgcywgc2lldmVPdXRQcmltZSAoU2VxLmhlYWQgcykgKFNlcS50YWlsIHMpKQoKICAgIGxldCByZW1haW5pbmdQcmltZXMgPQogICAgICAgc2VxIHszLi4yLi5ufQogICAgICAgfD4gU2VxLnVuZm9sZCByZW1vdmVGaXJzdFByaW1lCgogICAgc2VxIHsgeWllbGQgMjsgeWllbGQhIHJlbWFpbmluZ1ByaW1lcyB9CiAgICAKcHJpbWVzTGVzc1RoYW4gMTAwMDAwMCB8PiBTZXEuc2tpcCA3MDAgCiAgICAgICAgICAgICAgICAgICAgfD4gU2VxLnRha2UgMTAgCiAgICAgICAgICAgICAgICAgICAgfD4gU2VxLml0ZXIoIGZ1biBuIC0+IHByaW50ZiAiJWQgIiBuICk=