Jon*_*FTW 1 haskell functional-programming
我正在尝试制作一个算法来解决Project Euler Problem 255
我想出了这个解决方案:
roundedSq n | (roundedSq n) == roundedSq (n-1) = n : roundedSq (n+1)
| rem n 2 == 1 = n : floor ( ((2*10^((d-1) `div` 2)) + ceiling (n `div` (2*10^((d-1) `div` 2)) )) `div` 2 )
| otherwise = n : floor ( ((7*10^((d-2) `div` 2)) + ceiling (n `div` (7*10^((d-2) `div` 2)) )) `div` 2 )
where
d = length (map (digitToInt) (show (n)))
average a = (sum a) `div` (length a)
answer = average [map roundedSq [10E13..10E14]]
main = do
print answer
Run Code Online (Sandbox Code Playgroud)
但每次我尝试加载时,都会出现answer计算功能错误.我做错了什么,这甚至会给我一个正确的解决方案,还是只是坚持一个循环?
answer = average [map roundedSq [10E13..10E14]]
Run Code Online (Sandbox Code Playgroud)
您已将映射列表放入一个元素的列表中.我想也许你的意思是:
answer = average (map roundedSq [10E13..10E14])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |