Q
迴文結構哈斯克爾
1
A
回答
9
這部分
reverse [x*y] == [x*y]
是錯誤。 [x*y]
是一個包含單個元素的列表:x*y
的結果。反過來是相同的列表...
你想要的是其數字相反的數字。你需要一個包含數字位數的列表。一個簡單的技巧就是將數字轉換爲字符串表示形式(請記住type String = [Char]
)。順便說一句
palindrome = [ x*y | x <- [100..999], y <- [100..999], reverse (show (x*y)) == show (x*y)]
2
您不想將反轉函數應用於包含單個數字的列表。您需要將反轉函數應用於該數字的字符串表示形式。
嘗試使用「顯示」功能。
另外,如果你有足夠的實力,以避免在看它,破壞項目歐拉的全部目的,你可以看看這個:
相關問題
- 1. 哈斯克爾
- 2. 哈斯克爾
- 3. 哈斯克爾
- 4. 哈斯克爾從文件
- 5. 在哈斯克爾
- 6. 在哈斯克爾
- 7. 在哈斯克爾
- 8. Control.Monad.Writer哈斯克爾
- 9. 哈斯克爾 - div`
- 10. 在哈斯克爾
- 11. Control.Monad.State哈斯克爾
- 12. zipWith哈斯克爾
- 13. 在哈斯克爾
- 14. 哈斯克爾Monad.Writer
- 15. 哈斯克爾 - 布爾RoseTree
- 16. 哈斯克爾類型構造
- 17. 哈斯克爾構造類型包含
- 18. 插件組到構造哈斯克爾
- 19. 哈斯克爾的構造函數
- 20. 哈斯克爾遞歸總結
- 21. 哈斯克爾單子結合討好
- 22. 哈斯克爾,打印出結果FMAP
- 23. 哈斯克爾返回類型混亂
- 24. 哈斯克爾函數的返回值
- 25. 哈斯克爾,返回一個元組
- 26. 哈斯克爾返回一個列表
- 27. 哈斯克爾monad返回類型
- 28. 哈斯克爾:如何在返回boolean
- 29. 如何寫回哈斯克爾
- 30. 哈斯克爾功能返回故障
:要做到這一點,你可以用
show
,而不是[ ]
這段代碼告訴我的答案是906609. – 2009-08-11 02:21:16但我想計算它!無論如何謝謝 – 2009-08-11 02:42:02
對不起,如果我毀了你運行代碼並查看結果找出答案的喜悅。哦......那種溫暖的模糊感......這不是我的意圖:) – 2009-08-11 03:02:56