Я пишу функцию F #, которая делит число на простые множители.
let factors primes i =
let mutable j = i
for p in primes do
while (j>1) && (j%p=0) do
j <- j/p
printfn "prime: %i" p
Работает для int
значений i
, но не int64
значений.Параметр primes
представляет собой набор значений int.
Я понимаю, почему это так - вывод типа case предполагает, что функция принимает только int
параметров - но я хочу явно указать тип параметра какint64
.
Можно ли написать эту функцию, чтобы она работала как для int
, так и для int64
?