0
하스켈에서 간단한 함수를 썼습니다. 숫자가 작은 optimazation으로 소수인지 확인하고 싶습니다. 나는 어떻게어떻게 sqrt 타입의 Integral Floor를 얻을 수 있습니까?
roundSqrt :: Integral -> Integral
roundSqrt x = floor (sqrt (fromIntegral x))
isPrime :: Integral t => t -> Bool
isPrime n = [i | i <- [2..k], n `mod` i == 0] == []
where k = roundSqrt(n)
그래서이 코드의 문제점은 무엇입니까? 그것은 나를 위해 작동합니다. – arrowd
오류가 발생했습니다 : 'Integral'에 대한 하나 이상의 인수가 필요합니다. 'Integral'에 '* -> GHC.Prim.Constraint'유형이 있습니다. 'roundSqrt'의 유형 서명 : roundSqrt :: Integral -> Integral' – woljako
아, Integral t => t -> t'이어야합니다. 또는 모든 유형 주석을 제거 할 수도 있습니다. – arrowd