0
Ich schrieb einfache Funktion in Haskell, ich möchte überprüfen, ob die Nummer ist Prime mit kleinen Optimazation. Ich habe keine Ahnung, wie richtig roundSqrt schreibenWie bekomme ich Boden mit sqrt in Typ Integral
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)
Also, was ist falsch mit diesem Code? Für mich geht das. – arrowd
Ich bekomme Fehler: 'Erwartet ein weiteres Argument zu 'Integral' Erwartet einen Typ, aber 'Integral' hat Art '* -> GHC.Prim.Constraint' In der Typ-Signatur für 'roundSqrt': roundSqrt :: Integral -> Integral' – woljako
Ah, es sollte 'Integral t => t -> t' sein. Oder entfernen Sie sogar alle Typ Anmerkungen. – arrowd