我是Haskell的新手,并且通常是编程人员,但是我尝试解决一些Euler项目的问题,因为我喜欢解决问题。但是,我对problem #12有问题。
我设计了一个我认为可行的解决方案,但可惜没有。
您能通过我的代码问题睁开眼睛来帮助我吗,
也许将我朝正确的方向插入以解决它?谢谢你。
这是代码:
triangleNumber = scanl1 (+) [1..]
factors n = [x | x <- [1..n], n `mod` x == 0]
numFactors = length . factors
eulerTwelve = find ((>500) . numFactors) triangleNumber
非常感谢你! :)
最佳答案
设计Euler项目问题的目的是要尝试通过“蛮力”解决问题,即对明显的搜索进行编程并让其继续运行,这是一个坏主意。 (一些较早的问题可以这样解决,但最好不要利用它,而应将其用作练习。)相反,您必须考虑问题的数学内容,以便进行计算机搜索易处理。
我不想付出太多,但是这里有一些提示: