私はHaskellのプログラミング初心者で一般的なプログラミングですが、問題解決が好きなのでProject Eulerの問題を解決しようとしています。しかし、私はproblem #12に問題があります。ハスケルのProject Euler#12に対する私の解決策の問題を見つけるのを助けてください。
私はうまくいくと思っていた解決方法を考案しましたが、悲しいかな、それはありません。
私のコードで問題に私の目を開けて、 と私を助けることができますそれを修正するための正しい方向にプッシュ?ありがとうございました。ここで
はコードです:
triangleNumber = scanl1 (+) [1..]
factors n = [x | x <- [1..n], n `mod` x == 0]
numFactors = length . factors
eulerTwelve = find ((>500) . numFactors) triangleNumber
はどうもありがとうございました! :)
私によく見えます。あなたが持っている特定の問題は何ですか? – luqui
その動きは信じられないほどゆっくり –
プロジェクトのオイラーについては、ブルートフォースを使ってほとんどの問題を解決できるか、またはブルートフォースを避けるために巧みな方法でインテリジェントに行うことができます。あなたのコードが遅い場合は、強引なアプローチを使用していますか?ブルートフォースコードを書く前に問題について考えてみてください。 PE 12の場合、合理的な方法でこれを行うと、これは扱うことができます。 (それはほとんどの小数点以下のPE問題にも当てはまります)。しかし、その解決策を改善する方法があります。 1からnまでの数字の合計が何であるか考えてみてください。 –