以下程序应检查输入n是否可被n
中的数字之和整除module Harshad where
isHarshad :: Int -> Bool
isHarshad n = (mod n (sumDig n)) == 0)
where
sumDig n
| (floor (n / 10) == 0) = n -- n consists of only one digit
| otherwise = sumDig (floor (n / 10)) + floor (10*(n - floor (n / 10)))
我收到以下编译错误: *使用`sumDig'
时没有(RealFrac Int)的实例即使在尝试添加各种转化后,我仍然卡住了。