RosettaCodeData/Task/Multifactorial/Julia/multifactorial.julia

17 lines
368 B
Text
Raw Permalink Normal View History

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