【发布时间】:2021-03-03 13:54:04
【问题描述】:
let isPrime n =
let rec check i =
i > n/2 || (n % i <> 0 && check (i + 1))
check 2
let rec Primes t =
[ for n in 1..t do if isPrime n then yield n]
//[<EntryPoint>]
let main argv =
printfn "Testing Exercise 16: Primes"
test (lazy (Primes 1)) [] NoException
test (lazy (Primes 2)) [2] NoException
test (lazy (Primes 4)) [2;3] NoException
test (lazy (Primes 11)) [2;3;5;7;11] NoException
printfn ""
0 // return an integer exit code
我是 F# 的新手,但为什么它从 1-t 生成列表而不是素数列表
【问题讨论】: