Здравствуйте, cadet354, Вы писали:
C>Доброго времени, взялся за изучение F#, так что вопрос новичка:
C>функция определяет простое ли число
C>C>let isPrime64 (value:int64) = //обязательно поставить скобки иначе будет считать что int64 - тип возвращаемого значения
C> let isqrt64 n:int64 = n |> float |> sqrt |> int64 // определение верхней границы
C> seq { for a in 2L .. isqrt64 value do yield a} |> Seq.exists(fun checker -> value % checker = 0L)|>not
C>
А лучше написать так:
let isPrime64 value =
let isqrt64 n:int64 = n |> float |> sqrt |> int64 // определение верхней границы
seq { for a in 2L .. isqrt64 value do yield a}
|> Seq.forall(fun checker -> value % checker <> 0L)