Bis*_*ter 3 haskell coding-style
我昨天开始学习哈斯克尔,但我遇到了问题.经过一些尝试不同的事情,我想我终于来到这里,并询问如何解决这个问题.另外,随意批评我到目前为止做的事情的方式,这样我就可以知道要走哪条路.谢谢.
module Main where
main = putStrLn lastPrime
where
lastPrime :: String
lastPrime = show(last(take 10001 primes))
primes :: [Int]
primes = [x| x <- [1..],length [a| a <- [1..lessen(x)], mod x a /= 0] == x - 2]
lessen :: Int -> Int
lessen a = ceiling(sqrt(a))
Run Code Online (Sandbox Code Playgroud)
要修复类型错误,您需要:
lessen :: Int -> Int
lessen a = ceiling (sqrt (fromIntegral a))
Run Code Online (Sandbox Code Playgroud)
a有类型Int,但sqrt期望浮点类型,并且将整数类型转换为另一种数字类型的最简单方法是fromIntegral.