Haskell完美数字 - 如果它是完美的,请检查给定的数字

时间:2018-03-07 19:19:12

标签: function haskell

这种语言真的不太擅长,我需要制作一个可以检查数字是否完美的函数,这是我到目前为止所做的,但它不起作用。

   import System.IO

main = do
putStrLn "Please enter a number: "
n <- getLine
perfectnumber n = let n == sum [i | i <- [1..n-1], n `mod` i == 0]

1 个答案:

答案 0 :(得分:0)

解决了这个问题:

perfect :: Integral a => a -> Bool
perfect n = n == sum [i | i <- [1..n-1], n `mod` i == 0]