RosettaCodeData/Task/Digital-root-Multiplicative-digital-root/Julia/digital-root-multiplicative-digital-root-1.jl
2024-10-16 18:07:41 -07:00

10 lines
238 B
Julia

function digitalmultroot{S<:Integer,T<:Integer}(n::S, bs::T=10)
-1 < n && 1 < bs || throw(DomainError())
ds = n
pers = 0
while bs <= ds
ds = prod(digits(ds, bs))
pers += 1
end
return (pers, ds)
end