Integer roots: Difference between revisions

Content added Content deleted
m (→‎{{header|Haskell}}: (applied hindent))
m (→‎{{header|Haskell}}: Avoided shadowing of `sequence` (standard Traversable function name))
Line 311: Line 311:
{{trans|Python}}
{{trans|Python}}
<lang haskell>root :: Integer -> Integer -> Integer
<lang haskell>root :: Integer -> Integer -> Integer
root a b = findAns sequence
root a b = findAns $ iterate (\x -> (a1 * x + b `div` (x ^ a1)) `div` a) 1
where
where
sequence = iterate (\x -> (a1 * x + b `div` (x ^ a1)) `div` a) 1
a1 = a - 1
a1 = a - 1
findAns (x:xs@(y:z:_))
findAns (x:xs@(y:z:_))