我正在编写一个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
该函数适用于i
的int
值,但不适用int64
值。参数primes
是一组int值。
我明白这是为什么 - 类型推断假定该函数只接受int
参数 - 但我想显式指定参数类型为int64
。
有没有可能编写此函数,使其适用于int
和int64
两种类型?
printfn
行应该取消缩进,以便它在 while 循环之后出现。 - John Palmer