【发布时间】:2014-11-16 10:47:33
【问题描述】:
我正在尝试制作一个素数生成器,它应该能够返回一系列素数,直到 nth 数。现在我想应该有一种更优雅的方式来处理序列,除了我当前的解决方案感觉有点冗长,我不得不使用可变对象。
0
|> Seq.unfold (fun x -> if isPrime x
then Some(x, x + 1)
else
let mutable y = x
while isPrime y <> true do
y <- y + 1
Some(y, y + 1))
|> Seq.take(n)
【问题讨论】:
标签: f# primes lazy-sequences