2020-02-17 23:21:07 -08:00
|
|
|
using Printf
|
|
|
|
|
|
2018-06-22 20:57:24 +00:00
|
|
|
function multifact(n::Integer, k::Integer)
|
|
|
|
|
n > 0 && k > 0 || throw(DomainError())
|
|
|
|
|
k > 1 || factorial(n)
|
|
|
|
|
return prod(n:-k:2)
|
2015-11-18 06:14:39 +00:00
|
|
|
end
|
|
|
|
|
|
2018-06-22 20:57:24 +00:00
|
|
|
const khi = 5
|
|
|
|
|
const nhi = 10
|
|
|
|
|
println("Showing multifactorial for n in [1, $nhi] and k in [1, $khi].")
|
2015-11-18 06:14:39 +00:00
|
|
|
for k = 1:khi
|
2018-06-22 20:57:24 +00:00
|
|
|
a = multifact.(1:nhi, k)
|
|
|
|
|
lab = "n" * "!" ^ k
|
|
|
|
|
@printf(" %-6s → %s\n", lab, a)
|
2015-11-18 06:14:39 +00:00
|
|
|
end
|