2010-12-05 118 views
63

我需要一個獲取兩個Int s(ab)並返回A/B作爲Int的函數。我確信A/B將始終是一個整數。將Int分配給Int並返回Int

這裏是我的解決方案:

myDiv :: Int -> Int -> Int 
myDiv a b = 
     let x = fromIntegral a 
      y = fromIntegral b 
     in truncate (x/y) 

但想找到更簡單的解決方案。類似這樣的:

myDiv :: Int -> Int -> Int 
myDiv a b = a/b 

如何將Int分配給Int並獲取Int?

回答

112

爲什麼不只是使用quot

quot a b 

是整數a和b截成零的整數商。

+6

或'A \`QUOT \`B`的綴愛好者(哇,你其實可以逃脫insice與反斜線反引號反引號?)。 – delnan 2010-12-05 14:08:53

0

這裏就是我所做的讓我自己:

quot' a b 
     | a<b = 0 -- base case 
     | otherwise = 1 + quot' a-b b