【发布时间】:2019-10-19 20:33:49
【问题描述】:
我想有效地找到整数 n 的正确除数。
我该怎么做?
现在我正在使用以下功能
divisors :: (Integral a) => a -> [a]
divisors n = filter ((0 ==) . (n `mod`)) [1 .. (n `div` 2)]
但是我已经读到,当我只检查直到 n 的平方根的数字时,效率会更高。你有什么建议如何用平方根解决它吗?
【问题讨论】:
-
您当前的函数检查所有数字最多为
n的一半,并且您想更改它以便它检查到n的平方根?我非常有信心您可以自己解决如何更改您的功能来做到这一点。
标签: haskell