Integer roots: Difference between revisions

Content added Content deleted
(→‎{{header|Julia}}: fixed bug, made it more Julian)
Line 463: Line 463:


=={{header|Julia}}==
=={{header|Julia}}==
{{works with|Julia|0.6}}
{{works with|Julia|1.3}}
{{trans|Python}}
{{trans|Python}}


<lang julia>function iroot(a, b)
<lang julia>function iroot(a, b)
if b < 2 return b end
b < 2 && return b
a1, c = a - 1, 1
a1, c = a - 1, 1
d = (a1 * c + b ÷ (c ^ a1)) ÷ a
d = (a1 * c + b ÷ c^a1) ÷ a
e = (a1 * d + b ÷ (d ^ a1)) ÷ a
e = (a1 * d + b ÷ d^a1) ÷ a
while c != d != e
while d c e
c, d, e = d, e, (a1 * e + b ÷ (e ^ a1)) ÷ a
c, d, e = d, e, (a1 * e + b ÷ (e ^ a1)) ÷ a
end
end

return min(d, e)
min(d, e)
end
end