open System
let toBigInt (n: int) = bigint(n) // Convert an "int" to a "bigint".
// Factorial with bigint support:
let fac n =
[1..n]
|> List.map toBigInt
|> List.reduce (*)
let printFacTable n =
let listNum = [1 .. n]
let listFac = listNum |> List.map fac
let numFacPair = List.zip listNum listFac
for (k, v) in numFacPair
do printfn "%-2d ! = %A" k v
printFacTable 12
b3BlbiBTeXN0ZW0KCmxldCB0b0JpZ0ludCAobjogaW50KSA9IGJpZ2ludChuKSAgLy8gQ29udmVydCBhbiAiaW50IiB0byBhICJiaWdpbnQiLgoKLy8gRmFjdG9yaWFsIHdpdGggYmlnaW50IHN1cHBvcnQ6CmxldCBmYWMgbiA9IAogICAgWzEuLm5dIAogICAgfD4gTGlzdC5tYXAgdG9CaWdJbnQgCiAgICB8PiBMaXN0LnJlZHVjZSAoKikgCgpsZXQgcHJpbnRGYWNUYWJsZSBuID0KICAgIGxldCBsaXN0TnVtID0gWzEgLi4gbl0KICAgIGxldCBsaXN0RmFjID0gbGlzdE51bSB8PiBMaXN0Lm1hcCBmYWMKICAgIGxldCBudW1GYWNQYWlyID0gTGlzdC56aXAgbGlzdE51bSBsaXN0RmFjCiAgICBmb3IgKGssIHYpICBpbiBudW1GYWNQYWlyCiAgICAgICAgZG8gcHJpbnRmbiAiJS0yZCAhID0gJUEiIGsgdgoKcHJpbnRGYWNUYWJsZSAxMg==