(RealFrac Int)没有使用' ......'

时间:2017-03-13 13:51:17

标签: haskell types functional-programming

以下程序应检查输入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)的实例

即使在尝试添加各种转化后,我仍然卡住了。

1 个答案:

答案 0 :(得分:5)

完全删除小数,仅使用div进行整数除法:

itertools.combinations